OMCompilerDoxygen
Functions
DAEUtil.c File Reference

Go to the source code of this file.

Functions

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_replaceCompRef (threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _replIn, modelica_metatype *out_replOut)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_statementsContainTryBlock2 (threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inStmt, modelica_boolean _b, modelica_boolean *out_ob)
 
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_statementsContainTryBlock2 (threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inStmt, modelica_metatype _b, modelica_metatype *out_ob)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_statementsContainReturn2 (threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inStmt, modelica_boolean _b, modelica_boolean *out_ob)
 
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_statementsContainReturn2 (threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inStmt, modelica_metatype _b, modelica_metatype *out_ob)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_collectAllExpandableCrefsInExp (threadData_t *threadData, modelica_metatype _exp, modelica_metatype _acc, modelica_metatype *out_outCrefs)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_splitVariableNamed (threadData_t *threadData, modelica_metatype _inElementLst, modelica_string _inName, modelica_metatype _inAccNamed, modelica_metatype _inAccRest, modelica_metatype *out_outRest)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_sortDAEElementsInModelicaCodeOrder (threadData_t *threadData, modelica_metatype _inElements, modelica_metatype _inDaeEls)
 
PROTECTED_FUNCTION_STATIC void omc_DAEUtil_showCacheFuncs (threadData_t *threadData, modelica_metatype _tree)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_makeEvaluatedParamFinal (threadData_t *threadData, modelica_metatype _inElement, modelica_metatype _ht)
 
PROTECTED_FUNCTION_STATIC void omc_DAEUtil_transformationsBeforeBackendNotification (threadData_t *threadData, modelica_metatype _ht)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getDAEDeclsFromValueblocks (threadData_t *threadData, modelica_metatype _exps)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getUniontypePathsElements (threadData_t *threadData, modelica_metatype _elements, modelica_metatype _acc)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getUniontypePathsFunctions (threadData_t *threadData, modelica_metatype _elements)
 
PROTECTED_FUNCTION_STATIC void omc_DAEUtil_isIfEquation (threadData_t *threadData, modelica_metatype _inElement)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_addComponentType2 (threadData_t *threadData, modelica_metatype _ $in_elt, modelica_metatype _inPath)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEVarAttr (threadData_t *threadData, modelica_metatype _attr, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEExpListStmt (threadData_t *threadData, modelica_metatype _iexps, modelica_fnptr _func, modelica_metatype _istmt, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEStmtsElse (threadData_t *threadData, modelica_metatype _inElse, modelica_fnptr _func, modelica_metatype _istmt, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEEquationsStmtsElse (threadData_t *threadData, modelica_metatype _inElse, modelica_fnptr _func, modelica_metatype _opt, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEEquationsStmtsWork (threadData_t *threadData, modelica_metatype _inStmt, modelica_fnptr _func, modelica_metatype _opt, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseStatementsOptionsEvalLhs (threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inA, modelica_fnptr _func, modelica_metatype _opt, modelica_metatype *out_outA)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEEquationsStmtsList (threadData_t *threadData, modelica_metatype _inStmts, modelica_fnptr _func, modelica_metatype _opt, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEElement (threadData_t *threadData, modelica_metatype _ $in_element, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEFunc (threadData_t *threadData, modelica_metatype _ $in_daeFunction, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEFuncHelper (threadData_t *threadData, modelica_metatype _key, modelica_metatype _ $in_value, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
 
PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_isValidFunctionEntry (threadData_t *threadData, modelica_metatype _tpl)
 
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_isValidFunctionEntry (threadData_t *threadData, modelica_metatype _tpl)
 
PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_isInvalidFunctionEntry (threadData_t *threadData, modelica_metatype _tpl)
 
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_isInvalidFunctionEntry (threadData_t *threadData, modelica_metatype _tpl)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEList (threadData_t *threadData, modelica_metatype _idaeList, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEExpList (threadData_t *threadData, modelica_metatype _iexps, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEOptExp (threadData_t *threadData, modelica_metatype _oexp, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_addUniqueIdentifierToCref (threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _oarg, modelica_metatype *out_outDummy)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_removeUniqieIdentifierFromCref (threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _oarg, modelica_metatype *out_outDummy)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation4 (threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _env, modelica_metatype _inCr, modelica_metatype _inExp, modelica_integer _inInteger1, modelica_integer _inInteger2, modelica_metatype _inHt, modelica_metatype *out_outHt, modelica_metatype *out_outCache)
 
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_evaluateAnnotation4 (threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _env, modelica_metatype _inCr, modelica_metatype _inExp, modelica_metatype _inInteger1, modelica_metatype _inInteger2, modelica_metatype _inHt, modelica_metatype *out_outHt, modelica_metatype *out_outCache)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation3 (threadData_t *threadData, modelica_metatype _iel, modelica_metatype _inHt, modelica_metatype *out_outHt)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation2 (threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _env, modelica_metatype _inDAElist, modelica_metatype _inHt, modelica_metatype *out_outHt, modelica_metatype *out_outCache)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation2__loop1 (threadData_t *threadData, modelica_boolean _finish, modelica_metatype _inCache, modelica_metatype _env, modelica_metatype _inDAElist, modelica_metatype _inHt, modelica_integer _sizeBefore, modelica_metatype *out_outHt, modelica_metatype *out_outCache)
 
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_evaluateAnnotation2__loop1 (threadData_t *threadData, modelica_metatype _finish, modelica_metatype _inCache, modelica_metatype _env, modelica_metatype _inDAElist, modelica_metatype _inHt, modelica_metatype _sizeBefore, modelica_metatype *out_outHt, modelica_metatype *out_outCache)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation2__loop (threadData_t *threadData, modelica_metatype _cache, modelica_metatype _env, modelica_metatype _inDAElist, modelica_metatype _inHt, modelica_integer _sizeBefore, modelica_metatype *out_outHt, modelica_metatype *out_outCache)
 
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_evaluateAnnotation2__loop (threadData_t *threadData, modelica_metatype _cache, modelica_metatype _env, modelica_metatype _inDAElist, modelica_metatype _inHt, modelica_metatype _sizeBefore, modelica_metatype *out_outHt, modelica_metatype *out_outCache)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateParameter (threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inPV)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation1Fold (threadData_t *threadData, modelica_metatype _tpl, modelica_metatype _el, modelica_metatype _inPV)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getParameterVars2 (threadData_t *threadData, modelica_metatype _elt, modelica_metatype _ht)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_replaceCrefInAnnotation (threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inTable)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotationTraverse (threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _itpl, modelica_metatype *out_otpl)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_compareCrefList (threadData_t *threadData, modelica_metatype _inCrefs, modelica_boolean *out_matching)
 
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_compareCrefList (threadData_t *threadData, modelica_metatype _inCrefs, modelica_metatype *out_matching)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_collectWhenCrefs1 (threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _source, modelica_metatype _inCrefs)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_collectWhenCrefs (threadData_t *threadData, modelica_metatype _inExps, modelica_metatype _source, modelica_metatype _inCrefs)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_verifyBoolWhenEquation1 (threadData_t *threadData, modelica_metatype _inElems, modelica_boolean _initCond, modelica_metatype _inCrefs)
 
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_verifyBoolWhenEquation1 (threadData_t *threadData, modelica_metatype _inElems, modelica_metatype _initCond, modelica_metatype _inCrefs)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_verifyBoolWhenEquationBranch (threadData_t *threadData, modelica_metatype _inCond, modelica_metatype _inEqs)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_collectWhenEquationBranches (threadData_t *threadData, modelica_metatype _inElseWhen, modelica_metatype _inWhenBranches)
 
PROTECTED_FUNCTION_STATIC void omc_DAEUtil_verifyBoolWhenEquation (threadData_t *threadData, modelica_metatype _inCond, modelica_metatype _inEqs, modelica_metatype _inElseWhen, modelica_metatype _source)
 
PROTECTED_FUNCTION_STATIC void omc_DAEUtil_verifyClockWhenEquation1 (threadData_t *threadData, modelica_metatype _inEqs)
 
PROTECTED_FUNCTION_STATIC void omc_DAEUtil_verifyClockWhenEquation (threadData_t *threadData, modelica_metatype _cond, modelica_metatype _eqs, modelica_metatype _ew, modelica_metatype _source)
 
PROTECTED_FUNCTION_STATIC void omc_DAEUtil_verifyWhenEquation (threadData_t *threadData, modelica_metatype _cond, modelica_metatype _eqs, modelica_metatype _ew, modelica_metatype _source)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_crefToExp (threadData_t *threadData, modelica_metatype _inComponentRef)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getFunctionsElements (threadData_t *threadData, modelica_metatype _elements)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormExp (threadData_t *threadData, modelica_metatype _inExp)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormCref (threadData_t *threadData, modelica_metatype _cr)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormExpOpt (threadData_t *threadData, modelica_metatype _inExpExpOption)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormElts (threadData_t *threadData, modelica_metatype _inElementLst)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getStreamVariables2 (threadData_t *threadData, modelica_metatype _inExpComponentRefLst, modelica_string _inIdent)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getFlowVariables2 (threadData_t *threadData, modelica_metatype _inExpComponentRefLst, modelica_string _inIdent)
 
PROTECTED_FUNCTION_STATIC modelica_string omc_DAEUtil_getBindingsStr (threadData_t *threadData, modelica_metatype _inElementLst)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getVariableList (threadData_t *threadData, modelica_metatype _inElementLst)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_findAllMatchingElements2 (threadData_t *threadData, modelica_metatype _elements, modelica_fnptr _cond1, modelica_fnptr _cond2, modelica_metatype _accumFirst, modelica_metatype _accumSecond, modelica_metatype *out_secondList)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_removeInnerAttribute (threadData_t *threadData, modelica_metatype _io)
 
PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_compareUniquedVarWithNonUnique (threadData_t *threadData, modelica_metatype _cr1, modelica_metatype _cr2)
 
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_compareUniquedVarWithNonUnique (threadData_t *threadData, modelica_metatype _cr1, modelica_metatype _cr2)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_removeVariable (threadData_t *threadData, modelica_metatype _var, modelica_metatype _dae)
 
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_removeVariablesFromElements (threadData_t *threadData, modelica_metatype _inElements, modelica_metatype _variableNames)
 
PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_topLevelConnectorType (threadData_t *threadData, modelica_metatype _inConnectorType)
 
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_topLevelConnectorType (threadData_t *threadData, modelica_metatype _inConnectorType)
 
DLLExport modelica_metatype omc_DAEUtil_getParameters (threadData_t *threadData, modelica_metatype _elts, modelica_metatype _acc)
 
DLLExport modelica_metatype omc_DAEUtil_moveElementToInitialSection (threadData_t *threadData, modelica_metatype _ $in_elt)
 
DLLExport modelica_metatype omc_DAEUtil_mergeAlgorithmSections (threadData_t *threadData, modelica_metatype _inDae)
 
DLLExport modelica_metatype omc_DAEUtil_toSCodeConnectorType (threadData_t *threadData, modelica_metatype _daeConnectorType)
 
DLLExport modelica_boolean omc_DAEUtil_connectorTypeEqual (threadData_t *threadData, modelica_metatype _inConnectorType1, modelica_metatype _inConnectorType2)
 
modelica_metatype boxptr_DAEUtil_connectorTypeEqual (threadData_t *threadData, modelica_metatype _inConnectorType1, modelica_metatype _inConnectorType2)
 
DLLExport modelica_boolean omc_DAEUtil_potentialBool (threadData_t *threadData, modelica_metatype _inConnectorType)
 
modelica_metatype boxptr_DAEUtil_potentialBool (threadData_t *threadData, modelica_metatype _inConnectorType)
 
DLLExport modelica_boolean omc_DAEUtil_streamBool (threadData_t *threadData, modelica_metatype _inStream)
 
modelica_metatype boxptr_DAEUtil_streamBool (threadData_t *threadData, modelica_metatype _inStream)
 
DLLExport modelica_string omc_DAEUtil_connectorTypeStr (threadData_t *threadData, modelica_metatype _connectorType)
 
DLLExport modelica_metatype omc_DAEUtil_replaceCrefBottomUp (threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _replIn, modelica_metatype *out_replOut)
 
DLLExport modelica_metatype omc_DAEUtil_replaceCrefInDAEElements (threadData_t *threadData, modelica_metatype _inElements, modelica_metatype _inCref, modelica_metatype _inExp)
 
DLLExport modelica_metatype omc_DAEUtil_evaluateExp (threadData_t *threadData, modelica_metatype _iexp, modelica_metatype _iels)
 
DLLExport modelica_metatype omc_DAEUtil_evaluateCref (threadData_t *threadData, modelica_metatype _icr, modelica_metatype _iels)
 
DLLExport modelica_metatype omc_DAEUtil_getVarBinding (threadData_t *threadData, modelica_metatype _iels, modelica_metatype _icr)
 
DLLExport modelica_boolean omc_DAEUtil_statementsContainTryBlock (threadData_t *threadData, modelica_metatype _stmts)
 
modelica_metatype boxptr_DAEUtil_statementsContainTryBlock (threadData_t *threadData, modelica_metatype _stmts)
 
DLLExport modelica_boolean omc_DAEUtil_statementsContainReturn (threadData_t *threadData, modelica_metatype _stmts)
 
modelica_metatype boxptr_DAEUtil_statementsContainReturn (threadData_t *threadData, modelica_metatype _stmts)
 
DLLExport modelica_metatype omc_DAEUtil_bindingValue (threadData_t *threadData, modelica_metatype _inBinding)
 
DLLExport modelica_integer omc_DAEUtil_getSubscriptIndex (threadData_t *threadData, modelica_metatype _iSubscript)
 
modelica_metatype boxptr_DAEUtil_getSubscriptIndex (threadData_t *threadData, modelica_metatype _iSubscript)
 
DLLExport modelica_metatype omc_DAEUtil_getAssertConditionCrefs (threadData_t *threadData, modelica_metatype _stmt, modelica_metatype _crefsIn)
 
DLLExport modelica_metatype omc_DAEUtil_toDAEInnerOuter (threadData_t *threadData, modelica_metatype _ioIn)
 
DLLExport modelica_integer omc_DAEUtil_funcArgDim (threadData_t *threadData, modelica_metatype _argIn)
 
modelica_metatype boxptr_DAEUtil_funcArgDim (threadData_t *threadData, modelica_metatype _argIn)
 
DLLExport modelica_boolean omc_DAEUtil_funcIsRecord (threadData_t *threadData, modelica_metatype _func)
 
modelica_metatype boxptr_DAEUtil_funcIsRecord (threadData_t *threadData, modelica_metatype _func)
 
DLLExport modelica_metatype omc_DAEUtil_replaceCallAttrType (threadData_t *threadData, modelica_metatype _caIn, modelica_metatype _typeIn)
 
DLLExport modelica_string omc_DAEUtil_daeDescription (threadData_t *threadData, modelica_metatype _inDAE)
 
DLLExport modelica_metatype omc_DAEUtil_getAllExpandableCrefsFromDAE (threadData_t *threadData, modelica_metatype _inDAE)
 
DLLExport modelica_metatype omc_DAEUtil_sortDAEInModelicaCodeOrder (threadData_t *threadData, modelica_boolean _inShouldSort, modelica_metatype _inElements, modelica_metatype _inDae)
 
modelica_metatype boxptr_DAEUtil_sortDAEInModelicaCodeOrder (threadData_t *threadData, modelica_metatype _inShouldSort, modelica_metatype _inElements, modelica_metatype _inDae)
 
DLLExport modelica_metatype omc_DAEUtil_mkEmptyVar (threadData_t *threadData, modelica_string _name)
 
DLLExport modelica_metatype omc_DAEUtil_getElements (threadData_t *threadData, modelica_metatype _inDAE)
 
DLLExport modelica_boolean omc_DAEUtil_isComplexVar (threadData_t *threadData, modelica_metatype _inVar)
 
modelica_metatype boxptr_DAEUtil_isComplexVar (threadData_t *threadData, modelica_metatype _inVar)
 
DLLExport modelica_boolean omc_DAEUtil_varDirectionEqual (threadData_t *threadData, modelica_metatype _inDirection1, modelica_metatype _inDirection2)
 
modelica_metatype boxptr_DAEUtil_varDirectionEqual (threadData_t *threadData, modelica_metatype _inDirection1, modelica_metatype _inDirection2)
 
DLLExport modelica_boolean omc_DAEUtil_varKindEqual (threadData_t *threadData, modelica_metatype _inVariability1, modelica_metatype _inVariability2)
 
modelica_metatype boxptr_DAEUtil_varKindEqual (threadData_t *threadData, modelica_metatype _inVariability1, modelica_metatype _inVariability2)
 
DLLExport modelica_metatype omc_DAEUtil_setAttributeDirection (threadData_t *threadData, modelica_metatype _inDirection, modelica_metatype _inAttributes)
 
DLLExport modelica_boolean omc_DAEUtil_isNotCompleteFunction (threadData_t *threadData, modelica_metatype _f)
 
modelica_metatype boxptr_DAEUtil_isNotCompleteFunction (threadData_t *threadData, modelica_metatype _f)
 
DLLExport modelica_boolean omc_DAEUtil_isCompleteFunctionBody (threadData_t *threadData, modelica_metatype _functions)
 
modelica_metatype boxptr_DAEUtil_isCompleteFunctionBody (threadData_t *threadData, modelica_metatype _functions)
 
DLLExport modelica_boolean omc_DAEUtil_isCompleteFunction (threadData_t *threadData, modelica_metatype _f)
 
modelica_metatype boxptr_DAEUtil_isCompleteFunction (threadData_t *threadData, modelica_metatype _f)
 
DLLExport modelica_boolean omc_DAEUtil_isBound (threadData_t *threadData, modelica_metatype _inBinding)
 
modelica_metatype boxptr_DAEUtil_isBound (threadData_t *threadData, modelica_metatype _inBinding)
 
DLLExport modelica_metatype omc_DAEUtil_bindingExp (threadData_t *threadData, modelica_metatype _bind)
 
DLLExport modelica_metatype omc_DAEUtil_varType (threadData_t *threadData, modelica_metatype _var)
 
DLLExport modelica_boolean omc_DAEUtil_typeVarIdentEqual (threadData_t *threadData, modelica_metatype _var, modelica_string _name)
 
modelica_metatype boxptr_DAEUtil_typeVarIdentEqual (threadData_t *threadData, modelica_metatype _var, modelica_metatype _name)
 
DLLExport modelica_string omc_DAEUtil_typeVarIdent (threadData_t *threadData, modelica_metatype _var)
 
DLLExport modelica_string omc_DAEUtil_varName (threadData_t *threadData, modelica_metatype _var)
 
DLLExport modelica_metatype omc_DAEUtil_translateSCodeAttrToDAEAttr (threadData_t *threadData, modelica_metatype _inAttributes, modelica_metatype _inPrefixes)
 
DLLExport modelica_metatype omc_DAEUtil_getAttrInnerOuter (threadData_t *threadData, modelica_metatype _attr)
 
DLLExport modelica_metatype omc_DAEUtil_setAttrInnerOuter (threadData_t *threadData, modelica_metatype _ $in_attr, modelica_metatype _io)
 
DLLExport modelica_metatype omc_DAEUtil_getAttrDirection (threadData_t *threadData, modelica_metatype _attr)
 
DLLExport modelica_metatype omc_DAEUtil_setAttrDirection (threadData_t *threadData, modelica_metatype _ $in_attr, modelica_metatype _dir)
 
DLLExport modelica_metatype omc_DAEUtil_getAttrVariability (threadData_t *threadData, modelica_metatype _attr)
 
DLLExport modelica_metatype omc_DAEUtil_setAttrVariability (threadData_t *threadData, modelica_metatype _ $in_attr, modelica_metatype _var)
 
DLLExport modelica_string omc_DAEUtil_getInfo (threadData_t *threadData, modelica_metatype _tpl)
 
DLLExport modelica_metatype omc_DAEUtil_getFunctionsInfo (threadData_t *threadData, modelica_metatype _ft)
 
DLLExport modelica_metatype omc_DAEUtil_addDaeExtFunction (threadData_t *threadData, modelica_metatype _ifuncs, modelica_metatype _itree)
 
DLLExport modelica_metatype omc_DAEUtil_addFunctionDefinition (threadData_t *threadData, modelica_metatype _ifunc, modelica_metatype _iFuncDef)
 
DLLExport modelica_metatype omc_DAEUtil_addDaeFunction (threadData_t *threadData, modelica_metatype _functions, modelica_metatype _ $in_functionTree)
 
DLLExport modelica_metatype omc_DAEUtil_collectFunctionRefVarPaths (threadData_t *threadData, modelica_metatype _inElem, modelica_metatype _acc)
 
DLLExport modelica_metatype omc_DAEUtil_collectValueblockFunctionRefVars (threadData_t *threadData, modelica_metatype _exp, modelica_metatype _acc, modelica_metatype *out_outAcc)
 
DLLExport modelica_string omc_DAEUtil_printBindingSourceStr (threadData_t *threadData, modelica_metatype _bindingSource)
 
DLLExport modelica_string omc_DAEUtil_printBindingExpStr (threadData_t *threadData, modelica_metatype _binding)
 
DLLExport modelica_metatype omc_DAEUtil_setBindingSource (threadData_t *threadData, modelica_metatype _inBinding, modelica_metatype _bindingSource)
 
DLLExport modelica_metatype omc_DAEUtil_transformationsBeforeBackend (threadData_t *threadData, modelica_metatype _cache, modelica_metatype _env, modelica_metatype _inDAElist)
 
DLLExport modelica_metatype omc_DAEUtil_getUniontypePaths (threadData_t *threadData, modelica_metatype _funcs, modelica_metatype _els)
 
DLLExport modelica_metatype omc_DAEUtil_collectLocalDecls (threadData_t *threadData, modelica_metatype _e, modelica_metatype _inElements, modelica_metatype *out_outElements)
 
DLLExport modelica_metatype omc_DAEUtil_splitComponent (threadData_t *threadData, modelica_metatype _component)
 
DLLExport modelica_metatype omc_DAEUtil_splitElements (threadData_t *threadData, modelica_metatype _elements, modelica_metatype *out_initialEquations, modelica_metatype *out_initialAlgorithms, modelica_metatype *out_equations, modelica_metatype *out_algorithms, modelica_metatype *out_classAttributes, modelica_metatype *out_constraints, modelica_metatype *out_externalObjects, modelica_metatype *out_stateMachineComps, modelica_metatype *out_comments)
 
DLLExport modelica_metatype omc_DAEUtil_joinDaeLst (threadData_t *threadData, modelica_metatype _idaeLst)
 
DLLExport modelica_metatype omc_DAEUtil_joinDaes (threadData_t *threadData, modelica_metatype _dae1, modelica_metatype _dae2)
 
DLLExport modelica_metatype omc_DAEUtil_daeElements (threadData_t *threadData, modelica_metatype _dae)
 
DLLExport modelica_boolean omc_DAEUtil_convertInlineTypeToBool (threadData_t *threadData, modelica_metatype _it)
 
modelica_metatype boxptr_DAEUtil_convertInlineTypeToBool (threadData_t *threadData, modelica_metatype _it)
 
DLLExport modelica_metatype omc_DAEUtil_functionName (threadData_t *threadData, modelica_metatype _elt)
 
DLLExport modelica_boolean omc_DAEUtil_isExtFunction (threadData_t *threadData, modelica_metatype _elt)
 
modelica_metatype boxptr_DAEUtil_isExtFunction (threadData_t *threadData, modelica_metatype _elt)
 
DLLExport modelica_metatype omc_DAEUtil_addComponentType (threadData_t *threadData, modelica_metatype _ $in_dae, modelica_metatype _newtype)
 
DLLExport modelica_metatype omc_DAEUtil_addComponentTypeOpt (threadData_t *threadData, modelica_metatype _inDae, modelica_metatype _inPath)
 
DLLExport modelica_metatype omc_DAEUtil_traverseDAEStmts (threadData_t *threadData, modelica_metatype _inStmts, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
 
DLLExport modelica_metatype omc_DAEUtil_traverseDAEEquationsStmtsRhsOnly (threadData_t *threadData, modelica_metatype _inStmts, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
 
DLLExport modelica_metatype omc_DAEUtil_traverseDAEEquationsStmts (threadData_t *threadData, modelica_metatype _inStmts, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
 
DLLExport modelica_metatype omc_DAEUtil_traverseAlgorithmExps (threadData_t *threadData, modelica_metatype _inAlgorithm, modelica_fnptr _func, modelica_metatype _inTypeA)
 
DLLExport modelica_metatype omc_DAEUtil_traverseDAEElementList (threadData_t *threadData, modelica_metatype _ $in_elements, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
 
DLLExport modelica_metatype omc_DAEUtil_traverseDAEFunctions (threadData_t *threadData, modelica_metatype _ $in_functions, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
 
DLLExport modelica_metatype omc_DAEUtil_traverseDAE (threadData_t *threadData, modelica_metatype _ $in_dae, modelica_metatype _ $in_functionTree, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_functionTree, modelica_metatype *out_arg)
 
DLLExport modelica_metatype omc_DAEUtil_getFunctionNames (threadData_t *threadData, modelica_metatype _ft)
 
DLLExport modelica_metatype omc_DAEUtil_getFunctionList (threadData_t *threadData, modelica_metatype _ft, modelica_boolean _failOnError)
 
modelica_metatype boxptr_DAEUtil_getFunctionList (threadData_t *threadData, modelica_metatype _ft, modelica_metatype _failOnError)
 
DLLExport modelica_metatype omc_DAEUtil_nameUniqueOuterVars (threadData_t *threadData, modelica_metatype _dae)
 
DLLExport modelica_metatype omc_DAEUtil_renameUniqueOuterVars (threadData_t *threadData, modelica_metatype _dae)
 
DLLExport modelica_metatype omc_DAEUtil_evaluateAnnotation1 (threadData_t *threadData, modelica_metatype _dae, modelica_metatype _pv, modelica_metatype _ht, modelica_boolean *out_hasEvaluate)
 
modelica_metatype boxptr_DAEUtil_evaluateAnnotation1 (threadData_t *threadData, modelica_metatype _dae, modelica_metatype _pv, modelica_metatype _ht, modelica_metatype *out_hasEvaluate)
 
DLLExport modelica_metatype omc_DAEUtil_getParameterVars (threadData_t *threadData, modelica_metatype _dae, modelica_metatype _ht)
 
DLLExport modelica_metatype omc_DAEUtil_evaluateAnnotation (threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _env, modelica_metatype _inDAElist)
 
DLLExport void omc_DAEUtil_verifyEquationsDAE (threadData_t *threadData, modelica_metatype _dae)
 
DLLExport modelica_metatype omc_DAEUtil_getTupleExps (threadData_t *threadData, modelica_metatype _inExp)
 
DLLExport modelica_integer omc_DAEUtil_getTupleSize (threadData_t *threadData, modelica_metatype _inExp)
 
modelica_metatype boxptr_DAEUtil_getTupleSize (threadData_t *threadData, modelica_metatype _inExp)
 
DLLExport modelica_metatype omc_DAEUtil_getStatement (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_metatype omc_DAEUtil_getFunctionAlgorithmStmts (threadData_t *threadData, modelica_metatype _fn)
 
DLLExport modelica_metatype omc_DAEUtil_getFunctionAlgorithms (threadData_t *threadData, modelica_metatype _fn)
 
DLLExport modelica_metatype omc_DAEUtil_getFunctionProtectedVars (threadData_t *threadData, modelica_metatype _fn)
 
DLLExport modelica_metatype omc_DAEUtil_getFunctionOutputVars (threadData_t *threadData, modelica_metatype _fn)
 
DLLExport modelica_metatype omc_DAEUtil_getFunctionInputVars (threadData_t *threadData, modelica_metatype _fn)
 
DLLExport modelica_metatype omc_DAEUtil_getFunctionInlineType (threadData_t *threadData, modelica_metatype _fn)
 
DLLExport modelica_boolean omc_DAEUtil_getFunctionImpureAttribute (threadData_t *threadData, modelica_metatype _fn)
 
modelica_metatype boxptr_DAEUtil_getFunctionImpureAttribute (threadData_t *threadData, modelica_metatype _fn)
 
DLLExport modelica_metatype omc_DAEUtil_getFunctionType (threadData_t *threadData, modelica_metatype _fn)
 
DLLExport modelica_metatype omc_DAEUtil_getFunctionElements (threadData_t *threadData, modelica_metatype _fn)
 
DLLExport modelica_metatype omc_DAEUtil_getFunctionVisibility (threadData_t *threadData, modelica_metatype _fn)
 
DLLExport modelica_metatype omc_DAEUtil_getNamedFunctionFromList (threadData_t *threadData, modelica_metatype _ipath, modelica_metatype _ifns)
 
DLLExport modelica_metatype omc_DAEUtil_getNamedFunctionWithError (threadData_t *threadData, modelica_metatype _path, modelica_metatype _functions, modelica_metatype _info)
 
DLLExport modelica_metatype omc_DAEUtil_getNamedFunction (threadData_t *threadData, modelica_metatype _path, modelica_metatype _functions)
 
DLLExport modelica_metatype omc_DAEUtil_replaceBindungInVar (threadData_t *threadData, modelica_metatype _newBindung, modelica_metatype _inelem)
 
DLLExport modelica_metatype omc_DAEUtil_replaceCrefandTypeInVar (threadData_t *threadData, modelica_metatype _newCr, modelica_metatype _newType, modelica_metatype _inelem)
 
DLLExport modelica_metatype omc_DAEUtil_replaceTypeInVar (threadData_t *threadData, modelica_metatype _newType, modelica_metatype _inelem)
 
DLLExport modelica_metatype omc_DAEUtil_replaceCrefInVar (threadData_t *threadData, modelica_metatype _newCr, modelica_metatype _inelem)
 
DLLExport modelica_metatype omc_DAEUtil_toModelicaForm (threadData_t *threadData, modelica_metatype _inDAElist)
 
DLLExport modelica_metatype omc_DAEUtil_daeToRecordValue (threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _inEnv, modelica_metatype _inPath, modelica_metatype _inElementLst, modelica_boolean _inBoolean, modelica_metatype *out_outValue)
 
modelica_metatype boxptr_DAEUtil_daeToRecordValue (threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _inEnv, modelica_metatype _inPath, modelica_metatype _inElementLst, modelica_metatype _inBoolean, modelica_metatype *out_outValue)
 
DLLExport modelica_metatype omc_DAEUtil_getStreamVariables (threadData_t *threadData, modelica_metatype _inElementLst)
 
DLLExport modelica_metatype omc_DAEUtil_getFlowVariables (threadData_t *threadData, modelica_metatype _inElementLst)
 
DLLExport modelica_boolean omc_DAEUtil_daeParallelismEqual (threadData_t *threadData, modelica_metatype _inParallelism1, modelica_metatype _inParallelism2)
 
modelica_metatype boxptr_DAEUtil_daeParallelismEqual (threadData_t *threadData, modelica_metatype _inParallelism1, modelica_metatype _inParallelism2)
 
DLLExport modelica_metatype omc_DAEUtil_scodePrlToDaePrl (threadData_t *threadData, modelica_metatype _inParallelism)
 
DLLExport modelica_metatype omc_DAEUtil_toDaeParallelism (threadData_t *threadData, modelica_metatype _inCref, modelica_metatype _inParallelism, modelica_metatype _inState, modelica_metatype _inInfo)
 
DLLExport modelica_metatype omc_DAEUtil_toConnectorTypeNoState (threadData_t *threadData, modelica_metatype _scodeConnectorType, modelica_metatype _flowName)
 
DLLExport modelica_metatype omc_DAEUtil_toConnectorType (threadData_t *threadData, modelica_metatype _inConnectorType, modelica_metatype _inState)
 
DLLExport modelica_metatype omc_DAEUtil_getBindings (threadData_t *threadData, modelica_metatype _inElementLst, modelica_metatype *out_oute)
 
DLLExport modelica_metatype omc_DAEUtil_getVariableType (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_string omc_DAEUtil_getVariableBindingsStr (threadData_t *threadData, modelica_metatype _elts)
 
DLLExport modelica_metatype omc_DAEUtil_findElement (threadData_t *threadData, modelica_metatype _inElementLst, modelica_fnptr _inFuncTypeElementTo)
 
DLLExport modelica_boolean omc_DAEUtil_isFunctionInlineFalse (threadData_t *threadData, modelica_metatype _inElement)
 
modelica_metatype boxptr_DAEUtil_isFunctionInlineFalse (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_boolean omc_DAEUtil_isComplexEquation (threadData_t *threadData, modelica_metatype _inElement)
 
modelica_metatype boxptr_DAEUtil_isComplexEquation (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_boolean omc_DAEUtil_isStmtTerminate (threadData_t *threadData, modelica_metatype _stmt)
 
modelica_metatype boxptr_DAEUtil_isStmtTerminate (threadData_t *threadData, modelica_metatype _stmt)
 
DLLExport modelica_boolean omc_DAEUtil_isStmtReinit (threadData_t *threadData, modelica_metatype _stmt)
 
modelica_metatype boxptr_DAEUtil_isStmtReinit (threadData_t *threadData, modelica_metatype _stmt)
 
DLLExport modelica_boolean omc_DAEUtil_isStmtReturn (threadData_t *threadData, modelica_metatype _stmt)
 
modelica_metatype boxptr_DAEUtil_isStmtReturn (threadData_t *threadData, modelica_metatype _stmt)
 
DLLExport modelica_boolean omc_DAEUtil_isStmtAssert (threadData_t *threadData, modelica_metatype _stmt)
 
modelica_metatype boxptr_DAEUtil_isStmtAssert (threadData_t *threadData, modelica_metatype _stmt)
 
DLLExport modelica_boolean omc_DAEUtil_isAlgorithm (threadData_t *threadData, modelica_metatype _inElement)
 
modelica_metatype boxptr_DAEUtil_isAlgorithm (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_boolean omc_DAEUtil_isComment (threadData_t *threadData, modelica_metatype _elt)
 
modelica_metatype boxptr_DAEUtil_isComment (threadData_t *threadData, modelica_metatype _elt)
 
DLLExport modelica_boolean omc_DAEUtil_isFunctionRefVar (threadData_t *threadData, modelica_metatype _inElem)
 
modelica_metatype boxptr_DAEUtil_isFunctionRefVar (threadData_t *threadData, modelica_metatype _inElem)
 
DLLExport modelica_boolean omc_DAEUtil_isVar (threadData_t *threadData, modelica_metatype _inElement)
 
modelica_metatype boxptr_DAEUtil_isVar (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_boolean omc_DAEUtil_isNotVar (threadData_t *threadData, modelica_metatype _e)
 
modelica_metatype boxptr_DAEUtil_isNotVar (threadData_t *threadData, modelica_metatype _e)
 
DLLExport modelica_boolean omc_DAEUtil_isInput (threadData_t *threadData, modelica_metatype _inElement)
 
modelica_metatype boxptr_DAEUtil_isInput (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_boolean omc_DAEUtil_isInputVar (threadData_t *threadData, modelica_metatype _inElement)
 
modelica_metatype boxptr_DAEUtil_isInputVar (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_boolean omc_DAEUtil_isBidirVarDirection (threadData_t *threadData, modelica_metatype _inVarDirection)
 
modelica_metatype boxptr_DAEUtil_isBidirVarDirection (threadData_t *threadData, modelica_metatype _inVarDirection)
 
DLLExport modelica_boolean omc_DAEUtil_isBidirVar (threadData_t *threadData, modelica_metatype _inElement)
 
modelica_metatype boxptr_DAEUtil_isBidirVar (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_boolean omc_DAEUtil_isPublicVar (threadData_t *threadData, modelica_metatype _inElement)
 
modelica_metatype boxptr_DAEUtil_isPublicVar (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_boolean omc_DAEUtil_isProtectedVar (threadData_t *threadData, modelica_metatype _inElement)
 
modelica_metatype boxptr_DAEUtil_isProtectedVar (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport void omc_DAEUtil_assertProtectedVar (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_boolean omc_DAEUtil_isOutputVar (threadData_t *threadData, modelica_metatype _inElement)
 
modelica_metatype boxptr_DAEUtil_isOutputVar (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_boolean omc_DAEUtil_isStream (threadData_t *threadData, modelica_metatype _inStream)
 
modelica_metatype boxptr_DAEUtil_isStream (threadData_t *threadData, modelica_metatype _inStream)
 
DLLExport modelica_boolean omc_DAEUtil_isFlow (threadData_t *threadData, modelica_metatype _inFlow)
 
modelica_metatype boxptr_DAEUtil_isFlow (threadData_t *threadData, modelica_metatype _inFlow)
 
DLLExport void omc_DAEUtil_isStreamVar (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport void omc_DAEUtil_isFlowVar (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_metatype omc_DAEUtil_getInputVars (threadData_t *threadData, modelica_metatype _vl)
 
DLLExport modelica_metatype omc_DAEUtil_getBidirVars (threadData_t *threadData, modelica_metatype _vl)
 
DLLExport modelica_metatype omc_DAEUtil_getProtectedVars (threadData_t *threadData, modelica_metatype _vl)
 
DLLExport modelica_metatype omc_DAEUtil_getOutputVars (threadData_t *threadData, modelica_metatype _vl)
 
DLLExport void omc_DAEUtil_isComp (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_boolean omc_DAEUtil_isOuterVar (threadData_t *threadData, modelica_metatype _element)
 
modelica_metatype boxptr_DAEUtil_isOuterVar (threadData_t *threadData, modelica_metatype _element)
 
DLLExport modelica_boolean omc_DAEUtil_isInnerVar (threadData_t *threadData, modelica_metatype _element)
 
modelica_metatype boxptr_DAEUtil_isInnerVar (threadData_t *threadData, modelica_metatype _element)
 
DLLExport modelica_boolean omc_DAEUtil_isParamOrConstVarKind (threadData_t *threadData, modelica_metatype _inVarKind)
 
modelica_metatype boxptr_DAEUtil_isParamOrConstVarKind (threadData_t *threadData, modelica_metatype _inVarKind)
 
DLLExport modelica_boolean omc_DAEUtil_isParamConstOrComplexVar (threadData_t *threadData, modelica_metatype _inVar)
 
modelica_metatype boxptr_DAEUtil_isParamConstOrComplexVar (threadData_t *threadData, modelica_metatype _inVar)
 
DLLExport modelica_boolean omc_DAEUtil_isNotParamOrConstVar (threadData_t *threadData, modelica_metatype _inVar)
 
modelica_metatype boxptr_DAEUtil_isNotParamOrConstVar (threadData_t *threadData, modelica_metatype _inVar)
 
DLLExport modelica_boolean omc_DAEUtil_isParamOrConstVar (threadData_t *threadData, modelica_metatype _inVar)
 
modelica_metatype boxptr_DAEUtil_isParamOrConstVar (threadData_t *threadData, modelica_metatype _inVar)
 
DLLExport modelica_boolean omc_DAEUtil_isParameterOrConstant (threadData_t *threadData, modelica_metatype _inElement)
 
modelica_metatype boxptr_DAEUtil_isParameterOrConstant (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_boolean omc_DAEUtil_isParameter (threadData_t *threadData, modelica_metatype _inElement)
 
modelica_metatype boxptr_DAEUtil_isParameter (threadData_t *threadData, modelica_metatype _inElement)
 
DLLExport modelica_boolean omc_DAEUtil_isAfterIndexInlineFunc (threadData_t *threadData, modelica_metatype _inElem)
 
modelica_metatype boxptr_DAEUtil_isAfterIndexInlineFunc (threadData_t *threadData, modelica_metatype _inElem)
 
DLLExport modelica_metatype omc_DAEUtil_findAllMatchingElements (threadData_t *threadData, modelica_metatype _dae, modelica_fnptr _cond1, modelica_fnptr _cond2, modelica_metatype *out_secondList)
 
DLLExport modelica_metatype omc_DAEUtil_getAllMatchingElements (threadData_t *threadData, modelica_metatype _elist, modelica_fnptr _cond)
 
DLLExport modelica_metatype omc_DAEUtil_getMatchingElements (threadData_t *threadData, modelica_metatype _elist, modelica_fnptr _cond)
 
DLLExport modelica_string omc_DAEUtil_getStartAttrString (threadData_t *threadData, modelica_metatype _inVariableAttributesOption)
 
DLLExport modelica_boolean omc_DAEUtil_hasStartAttr (threadData_t *threadData, modelica_metatype _inVariableAttributesOption)
 
modelica_metatype boxptr_DAEUtil_hasStartAttr (threadData_t *threadData, modelica_metatype _inVariableAttributesOption)
 
DLLExport modelica_boolean omc_DAEUtil_boolVarVisibility (threadData_t *threadData, modelica_metatype _vp)
 
modelica_metatype boxptr_DAEUtil_boolVarVisibility (threadData_t *threadData, modelica_metatype _vp)
 
DLLExport modelica_boolean omc_DAEUtil_getFinalAttr (threadData_t *threadData, modelica_metatype _attr)
 
modelica_metatype boxptr_DAEUtil_getFinalAttr (threadData_t *threadData, modelica_metatype _attr)
 
DLLExport modelica_metatype omc_DAEUtil_setFinalAttr (threadData_t *threadData, modelica_metatype _attr, modelica_boolean _finalPrefix)
 
modelica_metatype boxptr_DAEUtil_setFinalAttr (threadData_t *threadData, modelica_metatype _attr, modelica_metatype _finalPrefix)
 
DLLExport modelica_metatype omc_DAEUtil_setFixedAttr (threadData_t *threadData, modelica_metatype _attr, modelica_metatype _fixed)
 
DLLExport modelica_boolean omc_DAEUtil_getProtectedAttr (threadData_t *threadData, modelica_metatype _attr)
 
modelica_metatype boxptr_DAEUtil_getProtectedAttr (threadData_t *threadData, modelica_metatype _attr)
 
DLLExport modelica_metatype omc_DAEUtil_setProtectedAttr (threadData_t *threadData, modelica_metatype _attr, modelica_boolean _isProtected)
 
modelica_metatype boxptr_DAEUtil_setProtectedAttr (threadData_t *threadData, modelica_metatype _attr, modelica_metatype _isProtected)
 
DLLExport modelica_metatype omc_DAEUtil_setElementVarBinding (threadData_t *threadData, modelica_metatype _elt, modelica_metatype _binding)
 
DLLExport modelica_metatype omc_DAEUtil_setElementVarDirection (threadData_t *threadData, modelica_metatype _elt, modelica_metatype _direction)
 
DLLExport modelica_metatype omc_DAEUtil_setElementVarVisibility (threadData_t *threadData, modelica_metatype _elt, modelica_metatype _visibility)
 
DLLExport modelica_metatype omc_DAEUtil_setUnitAttr (threadData_t *threadData, modelica_metatype _attr, modelica_metatype _unit)
 
DLLExport modelica_metatype omc_DAEUtil_setNominalAttr (threadData_t *threadData, modelica_metatype _attr, modelica_metatype _nominal)
 
DLLExport modelica_metatype omc_DAEUtil_getNominalAttr (threadData_t *threadData, modelica_metatype _attr)
 
DLLExport modelica_metatype omc_DAEUtil_setStartOrigin (threadData_t *threadData, modelica_metatype _attr, modelica_metatype _startOrigin)
 
DLLExport modelica_metatype omc_DAEUtil_setStartAttrOption (threadData_t *threadData, modelica_metatype _attr, modelica_metatype _start)
 
DLLExport modelica_metatype omc_DAEUtil_setStartAttr (threadData_t *threadData, modelica_metatype _attr, modelica_metatype _start)
 
DLLExport modelica_metatype omc_DAEUtil_setStateSelect (threadData_t *threadData, modelica_metatype _attr, modelica_metatype _s)
 
DLLExport modelica_metatype omc_DAEUtil_setVariableAttributes (threadData_t *threadData, modelica_metatype _var, modelica_metatype _varOpt)
 
DLLExport modelica_metatype omc_DAEUtil_getMaxAttrFail (threadData_t *threadData, modelica_metatype _inVariableAttributesOption)
 
DLLExport modelica_metatype omc_DAEUtil_getMinAttrFail (threadData_t *threadData, modelica_metatype _inVariableAttributesOption)
 
DLLExport modelica_metatype omc_DAEUtil_getNominalAttrFail (threadData_t *threadData, modelica_metatype _inVariableAttributesOption)
 
DLLExport modelica_metatype omc_DAEUtil_getStartAttrFail (threadData_t *threadData, modelica_metatype _inVariableAttributesOption)
 
DLLExport modelica_metatype omc_DAEUtil_getStartOrigin (threadData_t *threadData, modelica_metatype _inVariableAttributesOption)
 
DLLExport modelica_metatype omc_DAEUtil_getStartAttr (threadData_t *threadData, modelica_metatype _inVariableAttributesOption)
 
DLLExport modelica_metatype omc_DAEUtil_setMinMax (threadData_t *threadData, modelica_metatype _inAttr, modelica_metatype _inMin, modelica_metatype _inMax)
 
DLLExport modelica_metatype omc_DAEUtil_getMinMaxValues (threadData_t *threadData, modelica_metatype _inVariableAttributesOption, modelica_metatype *out_outMaxValue)
 
DLLExport modelica_metatype omc_DAEUtil_getMinMax (threadData_t *threadData, modelica_metatype _inVariableAttributesOption)
 
DLLExport modelica_metatype omc_DAEUtil_getStartAttrEmpty (threadData_t *threadData, modelica_metatype _inVariableAttributesOption, modelica_metatype _optExp)
 
DLLExport modelica_metatype omc_DAEUtil_getUnitAttr (threadData_t *threadData, modelica_metatype _inVariableAttributesOption)
 
DLLExport modelica_metatype omc_DAEUtil_getVariableAttributes (threadData_t *threadData, modelica_metatype _elt)
 
DLLExport modelica_metatype omc_DAEUtil_varCref (threadData_t *threadData, modelica_metatype _elt)
 
DLLExport modelica_metatype omc_DAEUtil_unNameInnerouterUniqueCref (threadData_t *threadData, modelica_metatype _cr, modelica_string _removalString)
 
DLLExport modelica_metatype omc_DAEUtil_nameInnerouterUniqueCref (threadData_t *threadData, modelica_metatype _inCr)
 
DLLExport modelica_metatype omc_DAEUtil_removeInnerAttr (threadData_t *threadData, modelica_metatype _var, modelica_metatype _dae)
 
DLLExport modelica_metatype omc_DAEUtil_removeInnerAttrs (threadData_t *threadData, modelica_metatype _dae, modelica_metatype _vars)
 
DLLExport modelica_metatype omc_DAEUtil_removeVariables (threadData_t *threadData, modelica_metatype _dae, modelica_metatype _vars)
 
DLLExport modelica_metatype omc_DAEUtil_splitDAEIntoVarsAndEquations (threadData_t *threadData, modelica_metatype _inDae, modelica_metatype *out_allEqs)
 
DLLExport modelica_metatype omc_DAEUtil_getBoundStartEquation (threadData_t *threadData, modelica_metatype _attr)
 
DLLExport modelica_metatype omc_DAEUtil_getClassList (threadData_t *threadData, modelica_metatype _v)
 
DLLExport modelica_metatype omc_DAEUtil_addEquationBoundString (threadData_t *threadData, modelica_metatype _bindExp, modelica_metatype _attr)
 
DLLExport modelica_metatype omc_DAEUtil_getDerivativePaths (threadData_t *threadData, modelica_metatype _inFuncDefs)
 
DLLExport modelica_boolean omc_DAEUtil_derivativeOrder (threadData_t *threadData, modelica_metatype _e1, modelica_metatype _e2)
 
modelica_metatype boxptr_DAEUtil_derivativeOrder (threadData_t *threadData, modelica_metatype _e1, modelica_metatype _e2)
 
DLLExport modelica_metatype omc_DAEUtil_dimExp (threadData_t *threadData, modelica_metatype _dim)
 
DLLExport modelica_metatype omc_DAEUtil_expTypeArrayDimensions (threadData_t *threadData, modelica_metatype _tp)
 
DLLExport modelica_boolean omc_DAEUtil_expTypeTuple (threadData_t *threadData, modelica_metatype _tp)
 
modelica_metatype boxptr_DAEUtil_expTypeTuple (threadData_t *threadData, modelica_metatype _tp)
 
DLLExport modelica_boolean omc_DAEUtil_expTypeArray (threadData_t *threadData, modelica_metatype _tp)
 
modelica_metatype boxptr_DAEUtil_expTypeArray (threadData_t *threadData, modelica_metatype _tp)
 
DLLExport modelica_boolean omc_DAEUtil_expTypeComplex (threadData_t *threadData, modelica_metatype _tp)
 
modelica_metatype boxptr_DAEUtil_expTypeComplex (threadData_t *threadData, modelica_metatype _tp)
 
DLLExport modelica_metatype omc_DAEUtil_expTypeElementType (threadData_t *threadData, modelica_metatype _tp)
 
DLLExport modelica_boolean omc_DAEUtil_expTypeSimple (threadData_t *threadData, modelica_metatype _tp)
 
modelica_metatype boxptr_DAEUtil_expTypeSimple (threadData_t *threadData, modelica_metatype _tp)
 
DLLExport modelica_boolean omc_DAEUtil_topLevelOutput (threadData_t *threadData, modelica_metatype _inComponentRef, modelica_metatype _inVarDirection, modelica_metatype _inConnectorType)
 
modelica_metatype boxptr_DAEUtil_topLevelOutput (threadData_t *threadData, modelica_metatype _inComponentRef, modelica_metatype _inVarDirection, modelica_metatype _inConnectorType)
 
DLLExport modelica_boolean omc_DAEUtil_topLevelInput (threadData_t *threadData, modelica_metatype _inComponentRef, modelica_metatype _inVarDirection, modelica_metatype _inConnectorType)
 
modelica_metatype boxptr_DAEUtil_topLevelInput (threadData_t *threadData, modelica_metatype _inComponentRef, modelica_metatype _inVarDirection, modelica_metatype _inConnectorType)
 
DLLExport modelica_string omc_DAEUtil_dumpVarParallelismStr (threadData_t *threadData, modelica_metatype _inVarParallelism)
 
DLLExport modelica_metatype omc_DAEUtil_const2VarKind (threadData_t *threadData, modelica_metatype _const)
 
DLLExport modelica_string omc_DAEUtil_constStrFriendly (threadData_t *threadData, modelica_metatype _const)
 
DLLExport modelica_string omc_DAEUtil_constStr (threadData_t *threadData, modelica_metatype _const)
 

Function Documentation

◆ boxptr_DAEUtil_boolVarVisibility()

modelica_metatype boxptr_DAEUtil_boolVarVisibility ( threadData_t threadData,
modelica_metatype  _vp 
)

Definition at line 20944 of file DAEUtil.c.

20945 {
20946  modelica_boolean _prot;
20947  modelica_metatype out_prot;
20948  _prot = omc_DAEUtil_boolVarVisibility(threadData, _vp);
20949  out_prot = mmc_mk_icon(_prot);
20950  return out_prot;
20951 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_boolVarVisibility(threadData_t *threadData, modelica_metatype _vp)
Definition: DAEUtil.c:20887
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_compareCrefList()

PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_compareCrefList ( threadData_t threadData,
modelica_metatype  _inCrefs,
modelica_metatype out_matching 
)

Definition at line 13640 of file DAEUtil.c.

13641 {
13642  modelica_boolean _matching;
13643  modelica_metatype _outrefs = NULL;
13644  _outrefs = omc_DAEUtil_compareCrefList(threadData, _inCrefs, &_matching);
13645  /* skip box _outrefs; list<DAE.ComponentRef> */
13646  if (out_matching) { *out_matching = mmc_mk_icon(_matching); }
13647  return _outrefs;
13648 }
signed char modelica_boolean
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_compareCrefList(threadData_t *threadData, modelica_metatype _inCrefs, modelica_boolean *out_matching)
Definition: DAEUtil.c:13500
Here is the call graph for this function:

◆ boxptr_DAEUtil_compareUniquedVarWithNonUnique()

PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_compareUniquedVarWithNonUnique ( threadData_t threadData,
modelica_metatype  _cr1,
modelica_metatype  _cr2 
)

Definition at line 24206 of file DAEUtil.c.

24207 {
24208  modelica_boolean _equal;
24209  modelica_metatype out_equal;
24210  _equal = omc_DAEUtil_compareUniquedVarWithNonUnique(threadData, _cr1, _cr2);
24211  out_equal = mmc_mk_icon(_equal);
24212  return out_equal;
24213 }
signed char modelica_boolean
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_compareUniquedVarWithNonUnique(threadData_t *threadData, modelica_metatype _cr1, modelica_metatype _cr2)
Definition: DAEUtil.c:24176
Here is the call graph for this function:

◆ boxptr_DAEUtil_connectorTypeEqual()

modelica_metatype boxptr_DAEUtil_connectorTypeEqual ( threadData_t threadData,
modelica_metatype  _inConnectorType1,
modelica_metatype  _inConnectorType2 
)

Definition at line 1266 of file DAEUtil.c.

1267 {
1268  modelica_boolean _outEqual;
1269  modelica_metatype out_outEqual;
1270  _outEqual = omc_DAEUtil_connectorTypeEqual(threadData, _inConnectorType1, _inConnectorType2);
1271  out_outEqual = mmc_mk_icon(_outEqual);
1272  return out_outEqual;
1273 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_connectorTypeEqual(threadData_t *threadData, modelica_metatype _inConnectorType1, modelica_metatype _inConnectorType2)
Definition: DAEUtil.c:1199
Here is the call graph for this function:

◆ boxptr_DAEUtil_convertInlineTypeToBool()

modelica_metatype boxptr_DAEUtil_convertInlineTypeToBool ( threadData_t threadData,
modelica_metatype  _it 
)

Definition at line 6009 of file DAEUtil.c.

6010 {
6011  modelica_boolean _b;
6012  modelica_metatype out_b;
6013  _b = omc_DAEUtil_convertInlineTypeToBool(threadData, _it);
6014  out_b = mmc_mk_icon(_b);
6015  return out_b;
6016 }
DLLExport modelica_boolean omc_DAEUtil_convertInlineTypeToBool(threadData_t *threadData, modelica_metatype _it)
Definition: DAEUtil.c:5962
signed char modelica_boolean
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_daeParallelismEqual()

modelica_metatype boxptr_DAEUtil_daeParallelismEqual ( threadData_t threadData,
modelica_metatype  _inParallelism1,
modelica_metatype  _inParallelism2 
)

Definition at line 17736 of file DAEUtil.c.

17737 {
17738  modelica_boolean _equal;
17739  modelica_metatype out_equal;
17740  _equal = omc_DAEUtil_daeParallelismEqual(threadData, _inParallelism1, _inParallelism2);
17741  out_equal = mmc_mk_icon(_equal);
17742  return out_equal;
17743 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_daeParallelismEqual(threadData_t *threadData, modelica_metatype _inParallelism1, modelica_metatype _inParallelism2)
Definition: DAEUtil.c:17669
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_daeToRecordValue()

modelica_metatype boxptr_DAEUtil_daeToRecordValue ( threadData_t threadData,
modelica_metatype  _inCache,
modelica_metatype  _inEnv,
modelica_metatype  _inPath,
modelica_metatype  _inElementLst,
modelica_metatype  _inBoolean,
modelica_metatype out_outValue 
)

Definition at line 17265 of file DAEUtil.c.

17266 {
17267  modelica_integer tmp1;
17268  modelica_metatype _outCache = NULL;
17269  tmp1 = mmc_unbox_integer(_inBoolean);
17270  _outCache = omc_DAEUtil_daeToRecordValue(threadData, _inCache, _inEnv, _inPath, _inElementLst, tmp1, out_outValue);
17271  /* skip box _outCache; FCore.Cache */
17272  /* skip box _outValue; Values.Value */
17273  return _outCache;
17274 }
m_integer modelica_integer
void * modelica_metatype
DLLExport modelica_metatype omc_DAEUtil_daeToRecordValue(threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _inEnv, modelica_metatype _inPath, modelica_metatype _inElementLst, modelica_boolean _inBoolean, modelica_metatype *out_outValue)
Definition: DAEUtil.c:17069
Here is the call graph for this function:

◆ boxptr_DAEUtil_derivativeOrder()

modelica_metatype boxptr_DAEUtil_derivativeOrder ( threadData_t threadData,
modelica_metatype  _e1,
modelica_metatype  _e2 
)

Definition at line 25713 of file DAEUtil.c.

25714 {
25715  modelica_boolean _b;
25716  modelica_metatype out_b;
25717  _b = omc_DAEUtil_derivativeOrder(threadData, _e1, _e2);
25718  out_b = mmc_mk_icon(_b);
25719  return out_b;
25720 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_derivativeOrder(threadData_t *threadData, modelica_metatype _e1, modelica_metatype _e2)
Definition: DAEUtil.c:25662
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_evaluateAnnotation1()

modelica_metatype boxptr_DAEUtil_evaluateAnnotation1 ( threadData_t threadData,
modelica_metatype  _dae,
modelica_metatype  _pv,
modelica_metatype  _ht,
modelica_metatype out_hasEvaluate 
)

Definition at line 12934 of file DAEUtil.c.

12935 {
12936  modelica_boolean _hasEvaluate;
12937  modelica_metatype _oht = NULL;
12938  _oht = omc_DAEUtil_evaluateAnnotation1(threadData, _dae, _pv, _ht, &_hasEvaluate);
12939  /* skip box _oht; tuple<array<list<tuple<DAE.ComponentRef, #Integer>>>, tuple<#Integer, #Integer, array<Option<tuple<DAE.ComponentRef, DAE.Exp>>>>, #Integer, tuple<.HashTable2.FuncHashCref<function>(DAE.ComponentRef cr, #Integer mod) => #Integer, .HashTable2.FuncCrefEqual<function>(DAE.ComponentRef cr1, DAE.ComponentRef cr2) => #Boolean, .HashTable2.FuncCrefStr<function>(DAE.ComponentRef cr) => String, .HashTable2.FuncExpStr<function>(DAE.Exp exp) => String>> */
12940  if (out_hasEvaluate) { *out_hasEvaluate = mmc_mk_icon(_hasEvaluate); }
12941  return _oht;
12942 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_metatype omc_DAEUtil_evaluateAnnotation1(threadData_t *threadData, modelica_metatype _dae, modelica_metatype _pv, modelica_metatype _ht, modelica_boolean *out_hasEvaluate)
Definition: DAEUtil.c:12894
Here is the call graph for this function:

◆ boxptr_DAEUtil_evaluateAnnotation2__loop()

PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_evaluateAnnotation2__loop ( threadData_t threadData,
modelica_metatype  _cache,
modelica_metatype  _env,
modelica_metatype  _inDAElist,
modelica_metatype  _inHt,
modelica_metatype  _sizeBefore,
modelica_metatype out_outHt,
modelica_metatype out_outCache 
)

Definition at line 12634 of file DAEUtil.c.

12635 {
12636  modelica_integer tmp1;
12637  modelica_metatype _outDAElist = NULL;
12638  tmp1 = mmc_unbox_integer(_sizeBefore);
12639  _outDAElist = omc_DAEUtil_evaluateAnnotation2__loop(threadData, _cache, _env, _inDAElist, _inHt, tmp1, out_outHt, out_outCache);
12640  /* skip box _outDAElist; list<DAE.Element> */
12641  /* skip box _outHt; tuple<array<list<tuple<DAE.ComponentRef, #Integer>>>, tuple<#Integer, #Integer, array<Option<tuple<DAE.ComponentRef, DAE.Exp>>>>, #Integer, tuple<.HashTable2.FuncHashCref<function>(DAE.ComponentRef cr, #Integer mod) => #Integer, .HashTable2.FuncCrefEqual<function>(DAE.ComponentRef cr1, DAE.ComponentRef cr2) => #Boolean, .HashTable2.FuncCrefStr<function>(DAE.ComponentRef cr) => String, .HashTable2.FuncExpStr<function>(DAE.Exp exp) => String>> */
12642  /* skip box _outCache; FCore.Cache */
12643  return _outDAElist;
12644 }
m_integer modelica_integer
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation2__loop(threadData_t *threadData, modelica_metatype _cache, modelica_metatype _env, modelica_metatype _inDAElist, modelica_metatype _inHt, modelica_integer _sizeBefore, modelica_metatype *out_outHt, modelica_metatype *out_outCache)
Definition: DAEUtil.c:12607
Here is the call graph for this function:

◆ boxptr_DAEUtil_evaluateAnnotation2__loop1()

PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_evaluateAnnotation2__loop1 ( threadData_t threadData,
modelica_metatype  _finish,
modelica_metatype  _inCache,
modelica_metatype  _env,
modelica_metatype  _inDAElist,
modelica_metatype  _inHt,
modelica_metatype  _sizeBefore,
modelica_metatype out_outHt,
modelica_metatype out_outCache 
)

Definition at line 12593 of file DAEUtil.c.

12594 {
12595  modelica_integer tmp1;
12596  modelica_integer tmp2;
12597  modelica_metatype _outDAElist = NULL;
12598  tmp1 = mmc_unbox_integer(_finish);
12599  tmp2 = mmc_unbox_integer(_sizeBefore);
12600  _outDAElist = omc_DAEUtil_evaluateAnnotation2__loop1(threadData, tmp1, _inCache, _env, _inDAElist, _inHt, tmp2, out_outHt, out_outCache);
12601  /* skip box _outDAElist; list<DAE.Element> */
12602  /* skip box _outHt; tuple<array<list<tuple<DAE.ComponentRef, #Integer>>>, tuple<#Integer, #Integer, array<Option<tuple<DAE.ComponentRef, DAE.Exp>>>>, #Integer, tuple<.HashTable2.FuncHashCref<function>(DAE.ComponentRef cr, #Integer mod) => #Integer, .HashTable2.FuncCrefEqual<function>(DAE.ComponentRef cr1, DAE.ComponentRef cr2) => #Boolean, .HashTable2.FuncCrefStr<function>(DAE.ComponentRef cr) => String, .HashTable2.FuncExpStr<function>(DAE.Exp exp) => String>> */
12603  /* skip box _outCache; FCore.Cache */
12604  return _outDAElist;
12605 }
m_integer modelica_integer
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation2__loop1(threadData_t *threadData, modelica_boolean _finish, modelica_metatype _inCache, modelica_metatype _env, modelica_metatype _inDAElist, modelica_metatype _inHt, modelica_integer _sizeBefore, modelica_metatype *out_outHt, modelica_metatype *out_outCache)
Definition: DAEUtil.c:12526
Here is the call graph for this function:

◆ boxptr_DAEUtil_evaluateAnnotation4()

PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_evaluateAnnotation4 ( threadData_t threadData,
modelica_metatype  _inCache,
modelica_metatype  _env,
modelica_metatype  _inCr,
modelica_metatype  _inExp,
modelica_metatype  _inInteger1,
modelica_metatype  _inInteger2,
modelica_metatype  _inHt,
modelica_metatype out_outHt,
modelica_metatype out_outCache 
)

Definition at line 12219 of file DAEUtil.c.

12220 {
12221  modelica_integer tmp1;
12222  modelica_integer tmp2;
12223  modelica_metatype _outExp = NULL;
12224  tmp1 = mmc_unbox_integer(_inInteger1);
12225  tmp2 = mmc_unbox_integer(_inInteger2);
12226  _outExp = omc_DAEUtil_evaluateAnnotation4(threadData, _inCache, _env, _inCr, _inExp, tmp1, tmp2, _inHt, out_outHt, out_outCache);
12227  /* skip box _outExp; DAE.Exp */
12228  /* skip box _outHt; tuple<array<list<tuple<DAE.ComponentRef, #Integer>>>, tuple<#Integer, #Integer, array<Option<tuple<DAE.ComponentRef, DAE.Exp>>>>, #Integer, tuple<.HashTable2.FuncHashCref<function>(DAE.ComponentRef cr, #Integer mod) => #Integer, .HashTable2.FuncCrefEqual<function>(DAE.ComponentRef cr1, DAE.ComponentRef cr2) => #Boolean, .HashTable2.FuncCrefStr<function>(DAE.ComponentRef cr) => String, .HashTable2.FuncExpStr<function>(DAE.Exp exp) => String>> */
12229  /* skip box _outCache; FCore.Cache */
12230  return _outExp;
12231 }
m_integer modelica_integer
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation4(threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _env, modelica_metatype _inCr, modelica_metatype _inExp, modelica_integer _inInteger1, modelica_integer _inInteger2, modelica_metatype _inHt, modelica_metatype *out_outHt, modelica_metatype *out_outCache)
Definition: DAEUtil.c:12077
Here is the call graph for this function:

◆ boxptr_DAEUtil_expTypeArray()

modelica_metatype boxptr_DAEUtil_expTypeArray ( threadData_t threadData,
modelica_metatype  _tp 
)

Definition at line 25943 of file DAEUtil.c.

25944 {
25945  modelica_boolean _isArray;
25946  modelica_metatype out_isArray;
25947  _isArray = omc_DAEUtil_expTypeArray(threadData, _tp);
25948  out_isArray = mmc_mk_icon(_isArray);
25949  return out_isArray;
25950 }
DLLExport modelica_boolean omc_DAEUtil_expTypeArray(threadData_t *threadData, modelica_metatype _tp)
Definition: DAEUtil.c:25895
signed char modelica_boolean
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_expTypeComplex()

modelica_metatype boxptr_DAEUtil_expTypeComplex ( threadData_t threadData,
modelica_metatype  _tp 
)

Definition at line 26001 of file DAEUtil.c.

26002 {
26003  modelica_boolean _isComplex;
26004  modelica_metatype out_isComplex;
26005  _isComplex = omc_DAEUtil_expTypeComplex(threadData, _tp);
26006  out_isComplex = mmc_mk_icon(_isComplex);
26007  return out_isComplex;
26008 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_expTypeComplex(threadData_t *threadData, modelica_metatype _tp)
Definition: DAEUtil.c:25953
Here is the call graph for this function:

◆ boxptr_DAEUtil_expTypeSimple()

modelica_metatype boxptr_DAEUtil_expTypeSimple ( threadData_t threadData,
modelica_metatype  _tp 
)

Definition at line 26156 of file DAEUtil.c.

26157 {
26158  modelica_boolean _isSimple;
26159  modelica_metatype out_isSimple;
26160  _isSimple = omc_DAEUtil_expTypeSimple(threadData, _tp);
26161  out_isSimple = mmc_mk_icon(_isSimple);
26162  return out_isSimple;
26163 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_expTypeSimple(threadData_t *threadData, modelica_metatype _tp)
Definition: DAEUtil.c:26070
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_expTypeTuple()

modelica_metatype boxptr_DAEUtil_expTypeTuple ( threadData_t threadData,
modelica_metatype  _tp 
)

Definition at line 25885 of file DAEUtil.c.

25886 {
25887  modelica_boolean _isTuple;
25888  modelica_metatype out_isTuple;
25889  _isTuple = omc_DAEUtil_expTypeTuple(threadData, _tp);
25890  out_isTuple = mmc_mk_icon(_isTuple);
25891  return out_isTuple;
25892 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_expTypeTuple(threadData_t *threadData, modelica_metatype _tp)
Definition: DAEUtil.c:25837
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_funcArgDim()

modelica_metatype boxptr_DAEUtil_funcArgDim ( threadData_t threadData,
modelica_metatype  _argIn 
)

Definition at line 2607 of file DAEUtil.c.

2608 {
2609  modelica_integer _dim;
2610  modelica_metatype out_dim;
2611  _dim = omc_DAEUtil_funcArgDim(threadData, _argIn);
2612  out_dim = mmc_mk_icon(_dim);
2613  return out_dim;
2614 }
m_integer modelica_integer
DLLExport modelica_integer omc_DAEUtil_funcArgDim(threadData_t *threadData, modelica_metatype _argIn)
Definition: DAEUtil.c:2541
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_funcIsRecord()

modelica_metatype boxptr_DAEUtil_funcIsRecord ( threadData_t threadData,
modelica_metatype  _func 
)

Definition at line 2665 of file DAEUtil.c.

2666 {
2667  modelica_boolean _isRec;
2668  modelica_metatype out_isRec;
2669  _isRec = omc_DAEUtil_funcIsRecord(threadData, _func);
2670  out_isRec = mmc_mk_icon(_isRec);
2671  return out_isRec;
2672 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_funcIsRecord(threadData_t *threadData, modelica_metatype _func)
Definition: DAEUtil.c:2617
Here is the call graph for this function:

◆ boxptr_DAEUtil_getFinalAttr()

modelica_metatype boxptr_DAEUtil_getFinalAttr ( threadData_t threadData,
modelica_metatype  _attr 
)

Definition at line 21096 of file DAEUtil.c.

21097 {
21098  modelica_boolean _finalPrefix;
21099  modelica_metatype out_finalPrefix;
21100  _finalPrefix = omc_DAEUtil_getFinalAttr(threadData, _attr);
21101  out_finalPrefix = mmc_mk_icon(_finalPrefix);
21102  return out_finalPrefix;
21103 }
DLLExport modelica_boolean omc_DAEUtil_getFinalAttr(threadData_t *threadData, modelica_metatype _attr)
Definition: DAEUtil.c:20954
signed char modelica_boolean
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_getFunctionImpureAttribute()

modelica_metatype boxptr_DAEUtil_getFunctionImpureAttribute ( threadData_t threadData,
modelica_metatype  _fn 
)

Definition at line 15022 of file DAEUtil.c.

15023 {
15024  modelica_boolean _outImpure;
15025  modelica_metatype out_outImpure;
15026  _outImpure = omc_DAEUtil_getFunctionImpureAttribute(threadData, _fn);
15027  out_outImpure = mmc_mk_icon(_outImpure);
15028  return out_outImpure;
15029 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_getFunctionImpureAttribute(threadData_t *threadData, modelica_metatype _fn)
Definition: DAEUtil.c:14977
Here is the call graph for this function:

◆ boxptr_DAEUtil_getFunctionList()

modelica_metatype boxptr_DAEUtil_getFunctionList ( threadData_t threadData,
modelica_metatype  _ft,
modelica_metatype  _failOnError 
)

Definition at line 11626 of file DAEUtil.c.

11627 {
11628  modelica_integer tmp1;
11629  modelica_metatype _fns = NULL;
11630  tmp1 = mmc_unbox_integer(_failOnError);
11631  _fns = omc_DAEUtil_getFunctionList(threadData, _ft, tmp1);
11632  /* skip box _fns; list<DAE.Function> */
11633  return _fns;
11634 }
m_integer modelica_integer
DLLExport modelica_metatype omc_DAEUtil_getFunctionList(threadData_t *threadData, modelica_metatype _ft, modelica_boolean _failOnError)
Definition: DAEUtil.c:11467
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_getProtectedAttr()

modelica_metatype boxptr_DAEUtil_getProtectedAttr ( threadData_t threadData,
modelica_metatype  _attr 
)

Definition at line 21672 of file DAEUtil.c.

21673 {
21674  modelica_boolean _isProtected;
21675  modelica_metatype out_isProtected;
21676  _isProtected = omc_DAEUtil_getProtectedAttr(threadData, _attr);
21677  out_isProtected = mmc_mk_icon(_isProtected);
21678  return out_isProtected;
21679 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_getProtectedAttr(threadData_t *threadData, modelica_metatype _attr)
Definition: DAEUtil.c:21530
Here is the call graph for this function:

◆ boxptr_DAEUtil_getSubscriptIndex()

modelica_metatype boxptr_DAEUtil_getSubscriptIndex ( threadData_t threadData,
modelica_metatype  _iSubscript 
)

Definition at line 2411 of file DAEUtil.c.

2412 {
2413  modelica_integer _oIndex;
2414  modelica_metatype out_oIndex;
2415  _oIndex = omc_DAEUtil_getSubscriptIndex(threadData, _iSubscript);
2416  out_oIndex = mmc_mk_icon(_oIndex);
2417  return out_oIndex;
2418 }
m_integer modelica_integer
void * modelica_metatype
DLLExport modelica_integer omc_DAEUtil_getSubscriptIndex(threadData_t *threadData, modelica_metatype _iSubscript)
Definition: DAEUtil.c:2341
Here is the call graph for this function:

◆ boxptr_DAEUtil_getTupleSize()

modelica_metatype boxptr_DAEUtil_getTupleSize ( threadData_t threadData,
modelica_metatype  _inExp 
)

Definition at line 14757 of file DAEUtil.c.

14758 {
14759  modelica_integer _size;
14760  modelica_metatype out_size;
14761  _size = omc_DAEUtil_getTupleSize(threadData, _inExp);
14762  out_size = mmc_mk_icon(_size);
14763  return out_size;
14764 }
m_integer modelica_integer
void * modelica_metatype
DLLExport modelica_integer omc_DAEUtil_getTupleSize(threadData_t *threadData, modelica_metatype _inExp)
Definition: DAEUtil.c:14706
Here is the call graph for this function:

◆ boxptr_DAEUtil_hasStartAttr()

modelica_metatype boxptr_DAEUtil_hasStartAttr ( threadData_t threadData,
modelica_metatype  _inVariableAttributesOption 
)

Definition at line 20877 of file DAEUtil.c.

20878 {
20879  modelica_boolean _hasStart;
20880  modelica_metatype out_hasStart;
20881  _hasStart = omc_DAEUtil_hasStartAttr(threadData, _inVariableAttributesOption);
20882  out_hasStart = mmc_mk_icon(_hasStart);
20883  return out_hasStart;
20884 }
DLLExport modelica_boolean omc_DAEUtil_hasStartAttr(threadData_t *threadData, modelica_metatype _inVariableAttributesOption)
Definition: DAEUtil.c:20781
signed char modelica_boolean
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isAfterIndexInlineFunc()

modelica_metatype boxptr_DAEUtil_isAfterIndexInlineFunc ( threadData_t threadData,
modelica_metatype  _inElem 
)

Definition at line 20427 of file DAEUtil.c.

20428 {
20429  modelica_boolean _b;
20430  modelica_metatype out_b;
20431  _b = omc_DAEUtil_isAfterIndexInlineFunc(threadData, _inElem);
20432  out_b = mmc_mk_icon(_b);
20433  return out_b;
20434 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_isAfterIndexInlineFunc(threadData_t *threadData, modelica_metatype _inElem)
Definition: DAEUtil.c:20376
Here is the call graph for this function:

◆ boxptr_DAEUtil_isAlgorithm()

modelica_metatype boxptr_DAEUtil_isAlgorithm ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19010 of file DAEUtil.c.

19011 {
19012  modelica_boolean _outMatch;
19013  modelica_metatype out_outMatch;
19014  _outMatch = omc_DAEUtil_isAlgorithm(threadData, _inElement);
19015  out_outMatch = mmc_mk_icon(_outMatch);
19016  return out_outMatch;
19017 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isAlgorithm(threadData_t *threadData, modelica_metatype _inElement)
Definition: DAEUtil.c:18962
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isBidirVar()

modelica_metatype boxptr_DAEUtil_isBidirVar ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19489 of file DAEUtil.c.

19490 {
19491  modelica_boolean _outMatch;
19492  modelica_metatype out_outMatch;
19493  _outMatch = omc_DAEUtil_isBidirVar(threadData, _inElement);
19494  out_outMatch = mmc_mk_icon(_outMatch);
19495  return out_outMatch;
19496 }
DLLExport modelica_boolean omc_DAEUtil_isBidirVar(threadData_t *threadData, modelica_metatype _inElement)
Definition: DAEUtil.c:19436
signed char modelica_boolean
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isBidirVarDirection()

modelica_metatype boxptr_DAEUtil_isBidirVarDirection ( threadData_t threadData,
modelica_metatype  _inVarDirection 
)

Definition at line 19426 of file DAEUtil.c.

19427 {
19428  modelica_boolean _outIsBidir;
19429  modelica_metatype out_outIsBidir;
19430  _outIsBidir = omc_DAEUtil_isBidirVarDirection(threadData, _inVarDirection);
19431  out_outIsBidir = mmc_mk_icon(_outIsBidir);
19432  return out_outIsBidir;
19433 }
DLLExport modelica_boolean omc_DAEUtil_isBidirVarDirection(threadData_t *threadData, modelica_metatype _inVarDirection)
Definition: DAEUtil.c:19379
signed char modelica_boolean
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isBound()

modelica_metatype boxptr_DAEUtil_isBound ( threadData_t threadData,
modelica_metatype  _inBinding 
)

Definition at line 3688 of file DAEUtil.c.

3689 {
3690  modelica_boolean _outIsBound;
3691  modelica_metatype out_outIsBound;
3692  _outIsBound = omc_DAEUtil_isBound(threadData, _inBinding);
3693  out_outIsBound = mmc_mk_icon(_outIsBound);
3694  return out_outIsBound;
3695 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isBound(threadData_t *threadData, modelica_metatype _inBinding)
Definition: DAEUtil.c:3641
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isComment()

modelica_metatype boxptr_DAEUtil_isComment ( threadData_t threadData,
modelica_metatype  _elt 
)

Definition at line 19068 of file DAEUtil.c.

19069 {
19070  modelica_boolean _b;
19071  modelica_metatype out_b;
19072  _b = omc_DAEUtil_isComment(threadData, _elt);
19073  out_b = mmc_mk_icon(_b);
19074  return out_b;
19075 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_isComment(threadData_t *threadData, modelica_metatype _elt)
Definition: DAEUtil.c:19020
Here is the call graph for this function:

◆ boxptr_DAEUtil_isCompleteFunction()

modelica_metatype boxptr_DAEUtil_isCompleteFunction ( threadData_t threadData,
modelica_metatype  _f 
)

Definition at line 3631 of file DAEUtil.c.

3632 {
3633  modelica_boolean _isComplete;
3634  modelica_metatype out_isComplete;
3635  _isComplete = omc_DAEUtil_isCompleteFunction(threadData, _f);
3636  out_isComplete = mmc_mk_icon(_isComplete);
3637  return out_isComplete;
3638 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_isCompleteFunction(threadData_t *threadData, modelica_metatype _f)
Definition: DAEUtil.c:3572
Here is the call graph for this function:

◆ boxptr_DAEUtil_isCompleteFunctionBody()

modelica_metatype boxptr_DAEUtil_isCompleteFunctionBody ( threadData_t threadData,
modelica_metatype  _functions 
)

Definition at line 3562 of file DAEUtil.c.

3563 {
3564  modelica_boolean _isComplete;
3565  modelica_metatype out_isComplete;
3566  _isComplete = omc_DAEUtil_isCompleteFunctionBody(threadData, _functions);
3567  out_isComplete = mmc_mk_icon(_isComplete);
3568  return out_isComplete;
3569 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isCompleteFunctionBody(threadData_t *threadData, modelica_metatype _functions)
Definition: DAEUtil.c:3451
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isComplexEquation()

modelica_metatype boxptr_DAEUtil_isComplexEquation ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 18720 of file DAEUtil.c.

18721 {
18722  modelica_boolean _outMatch;
18723  modelica_metatype out_outMatch;
18724  _outMatch = omc_DAEUtil_isComplexEquation(threadData, _inElement);
18725  out_outMatch = mmc_mk_icon(_outMatch);
18726  return out_outMatch;
18727 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isComplexEquation(threadData_t *threadData, modelica_metatype _inElement)
Definition: DAEUtil.c:18672
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isComplexVar()

modelica_metatype boxptr_DAEUtil_isComplexVar ( threadData_t threadData,
modelica_metatype  _inVar 
)

Definition at line 3220 of file DAEUtil.c.

3221 {
3222  modelica_boolean _outIsComplex;
3223  modelica_metatype out_outIsComplex;
3224  _outIsComplex = omc_DAEUtil_isComplexVar(threadData, _inVar);
3225  out_outIsComplex = mmc_mk_icon(_outIsComplex);
3226  return out_outIsComplex;
3227 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_isComplexVar(threadData_t *threadData, modelica_metatype _inVar)
Definition: DAEUtil.c:3197
Here is the call graph for this function:

◆ boxptr_DAEUtil_isExtFunction()

modelica_metatype boxptr_DAEUtil_isExtFunction ( threadData_t threadData,
modelica_metatype  _elt 
)

Definition at line 6128 of file DAEUtil.c.

6129 {
6130  modelica_boolean _res;
6131  modelica_metatype out_res;
6132  _res = omc_DAEUtil_isExtFunction(threadData, _elt);
6133  out_res = mmc_mk_icon(_res);
6134  return out_res;
6135 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isExtFunction(threadData_t *threadData, modelica_metatype _elt)
Definition: DAEUtil.c:6074
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isFlow()

modelica_metatype boxptr_DAEUtil_isFlow ( threadData_t threadData,
modelica_metatype  _inFlow 
)

Definition at line 19830 of file DAEUtil.c.

19831 {
19832  modelica_boolean _outIsFlow;
19833  modelica_metatype out_outIsFlow;
19834  _outIsFlow = omc_DAEUtil_isFlow(threadData, _inFlow);
19835  out_outIsFlow = mmc_mk_icon(_outIsFlow);
19836  return out_outIsFlow;
19837 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_isFlow(threadData_t *threadData, modelica_metatype _inFlow)
Definition: DAEUtil.c:19783
Here is the call graph for this function:

◆ boxptr_DAEUtil_isFunctionInlineFalse()

modelica_metatype boxptr_DAEUtil_isFunctionInlineFalse ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 18662 of file DAEUtil.c.

18663 {
18664  modelica_boolean _res;
18665  modelica_metatype out_res;
18666  _res = omc_DAEUtil_isFunctionInlineFalse(threadData, _inElement);
18667  out_res = mmc_mk_icon(_res);
18668  return out_res;
18669 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isFunctionInlineFalse(threadData_t *threadData, modelica_metatype _inElement)
Definition: DAEUtil.c:18611
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isFunctionRefVar()

modelica_metatype boxptr_DAEUtil_isFunctionRefVar ( threadData_t threadData,
modelica_metatype  _inElem 
)

Definition at line 19129 of file DAEUtil.c.

19130 {
19131  modelica_boolean _outBoolean;
19132  modelica_metatype out_outBoolean;
19133  _outBoolean = omc_DAEUtil_isFunctionRefVar(threadData, _inElem);
19134  out_outBoolean = mmc_mk_icon(_outBoolean);
19135  return out_outBoolean;
19136 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isFunctionRefVar(threadData_t *threadData, modelica_metatype _inElem)
Definition: DAEUtil.c:19078
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isInnerVar()

modelica_metatype boxptr_DAEUtil_isInnerVar ( threadData_t threadData,
modelica_metatype  _element 
)

Definition at line 20092 of file DAEUtil.c.

20093 {
20094  modelica_boolean _isInner;
20095  modelica_metatype out_isInner;
20096  _isInner = omc_DAEUtil_isInnerVar(threadData, _element);
20097  out_isInner = mmc_mk_icon(_isInner);
20098  return out_isInner;
20099 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isInnerVar(threadData_t *threadData, modelica_metatype _element)
Definition: DAEUtil.c:20044
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isInput()

modelica_metatype boxptr_DAEUtil_isInput ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19306 of file DAEUtil.c.

19307 {
19308  modelica_boolean _outMatch;
19309  modelica_metatype out_outMatch;
19310  _outMatch = omc_DAEUtil_isInput(threadData, _inElement);
19311  out_outMatch = mmc_mk_icon(_outMatch);
19312  return out_outMatch;
19313 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isInput(threadData_t *threadData, modelica_metatype _inElement)
Definition: DAEUtil.c:19255
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isInputVar()

modelica_metatype boxptr_DAEUtil_isInputVar ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19369 of file DAEUtil.c.

19370 {
19371  modelica_boolean _outMatch;
19372  modelica_metatype out_outMatch;
19373  _outMatch = omc_DAEUtil_isInputVar(threadData, _inElement);
19374  out_outMatch = mmc_mk_icon(_outMatch);
19375  return out_outMatch;
19376 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_isInputVar(threadData_t *threadData, modelica_metatype _inElement)
Definition: DAEUtil.c:19316
Here is the call graph for this function:

◆ boxptr_DAEUtil_isInvalidFunctionEntry()

PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_isInvalidFunctionEntry ( threadData_t threadData,
modelica_metatype  _tpl 
)

Definition at line 11444 of file DAEUtil.c.

11445 {
11446  modelica_boolean _b;
11447  modelica_metatype out_b;
11448  _b = omc_DAEUtil_isInvalidFunctionEntry(threadData, _tpl);
11449  out_b = mmc_mk_icon(_b);
11450  return out_b;
11451 }
signed char modelica_boolean
PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_isInvalidFunctionEntry(threadData_t *threadData, modelica_metatype _tpl)
Definition: DAEUtil.c:11395
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isNotCompleteFunction()

modelica_metatype boxptr_DAEUtil_isNotCompleteFunction ( threadData_t threadData,
modelica_metatype  _f 
)

Definition at line 3441 of file DAEUtil.c.

3442 {
3443  modelica_boolean _isNotComplete;
3444  modelica_metatype out_isNotComplete;
3445  _isNotComplete = omc_DAEUtil_isNotCompleteFunction(threadData, _f);
3446  out_isNotComplete = mmc_mk_icon(_isNotComplete);
3447  return out_isNotComplete;
3448 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_isNotCompleteFunction(threadData_t *threadData, modelica_metatype _f)
Definition: DAEUtil.c:3430
Here is the call graph for this function:

◆ boxptr_DAEUtil_isNotParamOrConstVar()

modelica_metatype boxptr_DAEUtil_isNotParamOrConstVar ( threadData_t threadData,
modelica_metatype  _inVar 
)

Definition at line 20198 of file DAEUtil.c.

20199 {
20200  modelica_boolean _outIsNotParamOrConst;
20201  modelica_metatype out_outIsNotParamOrConst;
20202  _outIsNotParamOrConst = omc_DAEUtil_isNotParamOrConstVar(threadData, _inVar);
20203  out_outIsNotParamOrConst = mmc_mk_icon(_outIsNotParamOrConst);
20204  return out_outIsNotParamOrConst;
20205 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isNotParamOrConstVar(threadData_t *threadData, modelica_metatype _inVar)
Definition: DAEUtil.c:20187
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isNotVar()

modelica_metatype boxptr_DAEUtil_isNotVar ( threadData_t threadData,
modelica_metatype  _e 
)

Definition at line 19245 of file DAEUtil.c.

19246 {
19247  modelica_boolean _outMatch;
19248  modelica_metatype out_outMatch;
19249  _outMatch = omc_DAEUtil_isNotVar(threadData, _e);
19250  out_outMatch = mmc_mk_icon(_outMatch);
19251  return out_outMatch;
19252 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isNotVar(threadData_t *threadData, modelica_metatype _e)
Definition: DAEUtil.c:19197
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isOuterVar()

modelica_metatype boxptr_DAEUtil_isOuterVar ( threadData_t threadData,
modelica_metatype  _element 
)

Definition at line 20034 of file DAEUtil.c.

20035 {
20036  modelica_boolean _isOuter;
20037  modelica_metatype out_isOuter;
20038  _isOuter = omc_DAEUtil_isOuterVar(threadData, _element);
20039  out_isOuter = mmc_mk_icon(_isOuter);
20040  return out_isOuter;
20041 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_isOuterVar(threadData_t *threadData, modelica_metatype _element)
Definition: DAEUtil.c:19984
Here is the call graph for this function:

◆ boxptr_DAEUtil_isOutputVar()

modelica_metatype boxptr_DAEUtil_isOutputVar ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19715 of file DAEUtil.c.

19716 {
19717  modelica_boolean _outMatch;
19718  modelica_metatype out_outMatch;
19719  _outMatch = omc_DAEUtil_isOutputVar(threadData, _inElement);
19720  out_outMatch = mmc_mk_icon(_outMatch);
19721  return out_outMatch;
19722 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isOutputVar(threadData_t *threadData, modelica_metatype _inElement)
Definition: DAEUtil.c:19662
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isParamConstOrComplexVar()

modelica_metatype boxptr_DAEUtil_isParamConstOrComplexVar ( threadData_t threadData,
modelica_metatype  _inVar 
)

Definition at line 20177 of file DAEUtil.c.

20178 {
20179  modelica_boolean _outIsParamConstComplex;
20180  modelica_metatype out_outIsParamConstComplex;
20181  _outIsParamConstComplex = omc_DAEUtil_isParamConstOrComplexVar(threadData, _inVar);
20182  out_outIsParamConstComplex = mmc_mk_icon(_outIsParamConstComplex);
20183  return out_outIsParamConstComplex;
20184 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isParamConstOrComplexVar(threadData_t *threadData, modelica_metatype _inVar)
Definition: DAEUtil.c:20166
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isParameter()

modelica_metatype boxptr_DAEUtil_isParameter ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 20366 of file DAEUtil.c.

20367 {
20368  modelica_boolean _outB;
20369  modelica_metatype out_outB;
20370  _outB = omc_DAEUtil_isParameter(threadData, _inElement);
20371  out_outB = mmc_mk_icon(_outB);
20372  return out_outB;
20373 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isParameter(threadData_t *threadData, modelica_metatype _inElement)
Definition: DAEUtil.c:20315
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isParameterOrConstant()

modelica_metatype boxptr_DAEUtil_isParameterOrConstant ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 20305 of file DAEUtil.c.

20306 {
20307  modelica_boolean _b;
20308  modelica_metatype out_b;
20309  _b = omc_DAEUtil_isParameterOrConstant(threadData, _inElement);
20310  out_b = mmc_mk_icon(_b);
20311  return out_b;
20312 }
DLLExport modelica_boolean omc_DAEUtil_isParameterOrConstant(threadData_t *threadData, modelica_metatype _inElement)
Definition: DAEUtil.c:20243
signed char modelica_boolean
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isParamOrConstVar()

modelica_metatype boxptr_DAEUtil_isParamOrConstVar ( threadData_t threadData,
modelica_metatype  _inVar 
)

Definition at line 20233 of file DAEUtil.c.

20234 {
20235  modelica_boolean _outIsParamOrConst;
20236  modelica_metatype out_outIsParamOrConst;
20237  _outIsParamOrConst = omc_DAEUtil_isParamOrConstVar(threadData, _inVar);
20238  out_outIsParamOrConst = mmc_mk_icon(_outIsParamOrConst);
20239  return out_outIsParamOrConst;
20240 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_isParamOrConstVar(threadData_t *threadData, modelica_metatype _inVar)
Definition: DAEUtil.c:20208
Here is the call graph for this function:

◆ boxptr_DAEUtil_isParamOrConstVarKind()

modelica_metatype boxptr_DAEUtil_isParamOrConstVarKind ( threadData_t threadData,
modelica_metatype  _inVarKind 
)

Definition at line 20156 of file DAEUtil.c.

20157 {
20158  modelica_boolean _outIsParamOrConst;
20159  modelica_metatype out_outIsParamOrConst;
20160  _outIsParamOrConst = omc_DAEUtil_isParamOrConstVarKind(threadData, _inVarKind);
20161  out_outIsParamOrConst = mmc_mk_icon(_outIsParamOrConst);
20162  return out_outIsParamOrConst;
20163 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isParamOrConstVarKind(threadData_t *threadData, modelica_metatype _inVarKind)
Definition: DAEUtil.c:20102
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isProtectedVar()

modelica_metatype boxptr_DAEUtil_isProtectedVar ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19611 of file DAEUtil.c.

19612 {
19613  modelica_boolean _b;
19614  modelica_metatype out_b;
19615  _b = omc_DAEUtil_isProtectedVar(threadData, _inElement);
19616  out_b = mmc_mk_icon(_b);
19617  return out_b;
19618 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isProtectedVar(threadData_t *threadData, modelica_metatype _inElement)
Definition: DAEUtil.c:19560
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isPublicVar()

modelica_metatype boxptr_DAEUtil_isPublicVar ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19550 of file DAEUtil.c.

19551 {
19552  modelica_boolean _outMatch;
19553  modelica_metatype out_outMatch;
19554  _outMatch = omc_DAEUtil_isPublicVar(threadData, _inElement);
19555  out_outMatch = mmc_mk_icon(_outMatch);
19556  return out_outMatch;
19557 }
DLLExport modelica_boolean omc_DAEUtil_isPublicVar(threadData_t *threadData, modelica_metatype _inElement)
Definition: DAEUtil.c:19499
signed char modelica_boolean
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isStmtAssert()

modelica_metatype boxptr_DAEUtil_isStmtAssert ( threadData_t threadData,
modelica_metatype  _stmt 
)

Definition at line 18952 of file DAEUtil.c.

18953 {
18954  modelica_boolean _b;
18955  modelica_metatype out_b;
18956  _b = omc_DAEUtil_isStmtAssert(threadData, _stmt);
18957  out_b = mmc_mk_icon(_b);
18958  return out_b;
18959 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isStmtAssert(threadData_t *threadData, modelica_metatype _stmt)
Definition: DAEUtil.c:18904
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isStmtReinit()

modelica_metatype boxptr_DAEUtil_isStmtReinit ( threadData_t threadData,
modelica_metatype  _stmt 
)

Definition at line 18836 of file DAEUtil.c.

18837 {
18838  modelica_boolean _b;
18839  modelica_metatype out_b;
18840  _b = omc_DAEUtil_isStmtReinit(threadData, _stmt);
18841  out_b = mmc_mk_icon(_b);
18842  return out_b;
18843 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isStmtReinit(threadData_t *threadData, modelica_metatype _stmt)
Definition: DAEUtil.c:18788
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isStmtReturn()

modelica_metatype boxptr_DAEUtil_isStmtReturn ( threadData_t threadData,
modelica_metatype  _stmt 
)

Definition at line 18894 of file DAEUtil.c.

18895 {
18896  modelica_boolean _b;
18897  modelica_metatype out_b;
18898  _b = omc_DAEUtil_isStmtReturn(threadData, _stmt);
18899  out_b = mmc_mk_icon(_b);
18900  return out_b;
18901 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isStmtReturn(threadData_t *threadData, modelica_metatype _stmt)
Definition: DAEUtil.c:18846
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isStmtTerminate()

modelica_metatype boxptr_DAEUtil_isStmtTerminate ( threadData_t threadData,
modelica_metatype  _stmt 
)

Definition at line 18778 of file DAEUtil.c.

18779 {
18780  modelica_boolean _b;
18781  modelica_metatype out_b;
18782  _b = omc_DAEUtil_isStmtTerminate(threadData, _stmt);
18783  out_b = mmc_mk_icon(_b);
18784  return out_b;
18785 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isStmtTerminate(threadData_t *threadData, modelica_metatype _stmt)
Definition: DAEUtil.c:18730
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isStream()

modelica_metatype boxptr_DAEUtil_isStream ( threadData_t threadData,
modelica_metatype  _inStream 
)

Definition at line 19773 of file DAEUtil.c.

19774 {
19775  modelica_boolean _outIsStream;
19776  modelica_metatype out_outIsStream;
19777  _outIsStream = omc_DAEUtil_isStream(threadData, _inStream);
19778  out_outIsStream = mmc_mk_icon(_outIsStream);
19779  return out_outIsStream;
19780 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isStream(threadData_t *threadData, modelica_metatype _inStream)
Definition: DAEUtil.c:19725
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isValidFunctionEntry()

PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_isValidFunctionEntry ( threadData_t threadData,
modelica_metatype  _tpl 
)

Definition at line 11386 of file DAEUtil.c.

11387 {
11388  modelica_boolean _b;
11389  modelica_metatype out_b;
11390  _b = omc_DAEUtil_isValidFunctionEntry(threadData, _tpl);
11391  out_b = mmc_mk_icon(_b);
11392  return out_b;
11393 }
signed char modelica_boolean
PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_isValidFunctionEntry(threadData_t *threadData, modelica_metatype _tpl)
Definition: DAEUtil.c:11375
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_isVar()

modelica_metatype boxptr_DAEUtil_isVar ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19187 of file DAEUtil.c.

19188 {
19189  modelica_boolean _outMatch;
19190  modelica_metatype out_outMatch;
19191  _outMatch = omc_DAEUtil_isVar(threadData, _inElement);
19192  out_outMatch = mmc_mk_icon(_outMatch);
19193  return out_outMatch;
19194 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isVar(threadData_t *threadData, modelica_metatype _inElement)
Definition: DAEUtil.c:19139
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_potentialBool()

modelica_metatype boxptr_DAEUtil_potentialBool ( threadData_t threadData,
modelica_metatype  _inConnectorType 
)

Definition at line 1323 of file DAEUtil.c.

1324 {
1325  modelica_boolean _outPotential;
1326  modelica_metatype out_outPotential;
1327  _outPotential = omc_DAEUtil_potentialBool(threadData, _inConnectorType);
1328  out_outPotential = mmc_mk_icon(_outPotential);
1329  return out_outPotential;
1330 }
DLLExport modelica_boolean omc_DAEUtil_potentialBool(threadData_t *threadData, modelica_metatype _inConnectorType)
Definition: DAEUtil.c:1276
signed char modelica_boolean
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_setFinalAttr()

modelica_metatype boxptr_DAEUtil_setFinalAttr ( threadData_t threadData,
modelica_metatype  _attr,
modelica_metatype  _finalPrefix 
)

Definition at line 21324 of file DAEUtil.c.

21325 {
21326  modelica_integer tmp1;
21327  modelica_metatype _outAttr = NULL;
21328  tmp1 = mmc_unbox_integer(_finalPrefix);
21329  _outAttr = omc_DAEUtil_setFinalAttr(threadData, _attr, tmp1);
21330  /* skip box _outAttr; Option<DAE.VariableAttributes> */
21331  return _outAttr;
21332 }
m_integer modelica_integer
DLLExport modelica_metatype omc_DAEUtil_setFinalAttr(threadData_t *threadData, modelica_metatype _attr, modelica_boolean _finalPrefix)
Definition: DAEUtil.c:21106
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_setProtectedAttr()

modelica_metatype boxptr_DAEUtil_setProtectedAttr ( threadData_t threadData,
modelica_metatype  _attr,
modelica_metatype  _isProtected 
)

Definition at line 21904 of file DAEUtil.c.

21905 {
21906  modelica_integer tmp1;
21907  modelica_metatype _outAttr = NULL;
21908  tmp1 = mmc_unbox_integer(_isProtected);
21909  _outAttr = omc_DAEUtil_setProtectedAttr(threadData, _attr, tmp1);
21910  /* skip box _outAttr; Option<DAE.VariableAttributes> */
21911  return _outAttr;
21912 }
m_integer modelica_integer
DLLExport modelica_metatype omc_DAEUtil_setProtectedAttr(threadData_t *threadData, modelica_metatype _attr, modelica_boolean _isProtected)
Definition: DAEUtil.c:21682
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_sortDAEInModelicaCodeOrder()

modelica_metatype boxptr_DAEUtil_sortDAEInModelicaCodeOrder ( threadData_t threadData,
modelica_metatype  _inShouldSort,
modelica_metatype  _inElements,
modelica_metatype  _inDae 
)

Definition at line 3150 of file DAEUtil.c.

3151 {
3152  modelica_integer tmp1;
3153  modelica_metatype _outDae = NULL;
3154  tmp1 = mmc_unbox_integer(_inShouldSort);
3155  _outDae = omc_DAEUtil_sortDAEInModelicaCodeOrder(threadData, tmp1, _inElements, _inDae);
3156  /* skip box _outDae; DAE.DAElist */
3157  return _outDae;
3158 }
m_integer modelica_integer
DLLExport modelica_metatype omc_DAEUtil_sortDAEInModelicaCodeOrder(threadData_t *threadData, modelica_boolean _inShouldSort, modelica_metatype _inElements, modelica_metatype _inDae)
Definition: DAEUtil.c:3082
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_statementsContainReturn()

modelica_metatype boxptr_DAEUtil_statementsContainReturn ( threadData_t threadData,
modelica_metatype  _stmts 
)

Definition at line 2275 of file DAEUtil.c.

2276 {
2277  modelica_boolean _b;
2278  modelica_metatype out_b;
2279  _b = omc_DAEUtil_statementsContainReturn(threadData, _stmts);
2280  out_b = mmc_mk_icon(_b);
2281  return out_b;
2282 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_statementsContainReturn(threadData_t *threadData, modelica_metatype _stmts)
Definition: DAEUtil.c:2256
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_statementsContainReturn2()

PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_statementsContainReturn2 ( threadData_t threadData,
modelica_metatype  _inExp,
modelica_metatype  _inStmt,
modelica_metatype  _b,
modelica_metatype out_ob 
)

Definition at line 2214 of file DAEUtil.c.

2215 {
2216  modelica_integer tmp1;
2217  modelica_boolean _ob;
2218  modelica_metatype _outExp = NULL;
2219  tmp1 = mmc_unbox_integer(_b);
2220  _outExp = omc_DAEUtil_statementsContainReturn2(threadData, _inExp, _inStmt, tmp1, &_ob);
2221  /* skip box _outExp; DAE.Exp */
2222  if (out_ob) { *out_ob = mmc_mk_icon(_ob); }
2223  return _outExp;
2224 }
m_integer modelica_integer
signed char modelica_boolean
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_statementsContainReturn2(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inStmt, modelica_boolean _b, modelica_boolean *out_ob)
Definition: DAEUtil.c:2086
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_statementsContainTryBlock()

modelica_metatype boxptr_DAEUtil_statementsContainTryBlock ( threadData_t threadData,
modelica_metatype  _stmts 
)

Definition at line 2246 of file DAEUtil.c.

2247 {
2248  modelica_boolean _b;
2249  modelica_metatype out_b;
2250  _b = omc_DAEUtil_statementsContainTryBlock(threadData, _stmts);
2251  out_b = mmc_mk_icon(_b);
2252  return out_b;
2253 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_statementsContainTryBlock(threadData_t *threadData, modelica_metatype _stmts)
Definition: DAEUtil.c:2227
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_statementsContainTryBlock2()

PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_statementsContainTryBlock2 ( threadData_t threadData,
modelica_metatype  _inExp,
modelica_metatype  _inStmt,
modelica_metatype  _b,
modelica_metatype out_ob 
)

Definition at line 2074 of file DAEUtil.c.

2075 {
2076  modelica_integer tmp1;
2077  modelica_boolean _ob;
2078  modelica_metatype _outExp = NULL;
2079  tmp1 = mmc_unbox_integer(_b);
2080  _outExp = omc_DAEUtil_statementsContainTryBlock2(threadData, _inExp, _inStmt, tmp1, &_ob);
2081  /* skip box _outExp; DAE.Exp */
2082  if (out_ob) { *out_ob = mmc_mk_icon(_ob); }
2083  return _outExp;
2084 }
m_integer modelica_integer
signed char modelica_boolean
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_statementsContainTryBlock2(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inStmt, modelica_boolean _b, modelica_boolean *out_ob)
Definition: DAEUtil.c:2014
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_streamBool()

modelica_metatype boxptr_DAEUtil_streamBool ( threadData_t threadData,
modelica_metatype  _inStream 
)

Definition at line 1381 of file DAEUtil.c.

1382 {
1383  modelica_boolean _bStream;
1384  modelica_metatype out_bStream;
1385  _bStream = omc_DAEUtil_streamBool(threadData, _inStream);
1386  out_bStream = mmc_mk_icon(_bStream);
1387  return out_bStream;
1388 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_streamBool(threadData_t *threadData, modelica_metatype _inStream)
Definition: DAEUtil.c:1333
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_topLevelConnectorType()

PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_topLevelConnectorType ( threadData_t threadData,
modelica_metatype  _inConnectorType 
)

Definition at line 26219 of file DAEUtil.c.

26220 {
26221  modelica_boolean _isTopLevel;
26222  modelica_metatype out_isTopLevel;
26223  _isTopLevel = omc_DAEUtil_topLevelConnectorType(threadData, _inConnectorType);
26224  out_isTopLevel = mmc_mk_icon(_isTopLevel);
26225  return out_isTopLevel;
26226 }
signed char modelica_boolean
PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_topLevelConnectorType(threadData_t *threadData, modelica_metatype _inConnectorType)
Definition: DAEUtil.c:26165
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_topLevelInput()

modelica_metatype boxptr_DAEUtil_topLevelInput ( threadData_t threadData,
modelica_metatype  _inComponentRef,
modelica_metatype  _inVarDirection,
modelica_metatype  _inConnectorType 
)

Definition at line 26361 of file DAEUtil.c.

26362 {
26363  modelica_boolean _isTopLevel;
26364  modelica_metatype out_isTopLevel;
26365  _isTopLevel = omc_DAEUtil_topLevelInput(threadData, _inComponentRef, _inVarDirection, _inConnectorType);
26366  out_isTopLevel = mmc_mk_icon(_isTopLevel);
26367  return out_isTopLevel;
26368 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_topLevelInput(threadData_t *threadData, modelica_metatype _inComponentRef, modelica_metatype _inVarDirection, modelica_metatype _inConnectorType)
Definition: DAEUtil.c:26300
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_topLevelOutput()

modelica_metatype boxptr_DAEUtil_topLevelOutput ( threadData_t threadData,
modelica_metatype  _inComponentRef,
modelica_metatype  _inVarDirection,
modelica_metatype  _inConnectorType 
)

Definition at line 26290 of file DAEUtil.c.

26291 {
26292  modelica_boolean _isTopLevel;
26293  modelica_metatype out_isTopLevel;
26294  _isTopLevel = omc_DAEUtil_topLevelOutput(threadData, _inComponentRef, _inVarDirection, _inConnectorType);
26295  out_isTopLevel = mmc_mk_icon(_isTopLevel);
26296  return out_isTopLevel;
26297 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_topLevelOutput(threadData_t *threadData, modelica_metatype _inComponentRef, modelica_metatype _inVarDirection, modelica_metatype _inConnectorType)
Definition: DAEUtil.c:26229
Here is the call graph for this function:

◆ boxptr_DAEUtil_typeVarIdentEqual()

modelica_metatype boxptr_DAEUtil_typeVarIdentEqual ( threadData_t threadData,
modelica_metatype  _var,
modelica_metatype  _name 
)

Definition at line 3825 of file DAEUtil.c.

3826 {
3827  modelica_boolean _b;
3828  modelica_metatype out_b;
3829  _b = omc_DAEUtil_typeVarIdentEqual(threadData, _var, _name);
3830  out_b = mmc_mk_icon(_b);
3831  return out_b;
3832 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_DAEUtil_typeVarIdentEqual(threadData_t *threadData, modelica_metatype _var, modelica_string _name)
Definition: DAEUtil.c:3802
Here is the call graph for this function:

◆ boxptr_DAEUtil_varDirectionEqual()

modelica_metatype boxptr_DAEUtil_varDirectionEqual ( threadData_t threadData,
modelica_metatype  _inDirection1,
modelica_metatype  _inDirection2 
)

Definition at line 3297 of file DAEUtil.c.

3298 {
3299  modelica_boolean _outIsEqual;
3300  modelica_metatype out_outIsEqual;
3301  _outIsEqual = omc_DAEUtil_varDirectionEqual(threadData, _inDirection1, _inDirection2);
3302  out_outIsEqual = mmc_mk_icon(_outIsEqual);
3303  return out_outIsEqual;
3304 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_varDirectionEqual(threadData_t *threadData, modelica_metatype _inDirection1, modelica_metatype _inDirection2)
Definition: DAEUtil.c:3230
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_varKindEqual()

modelica_metatype boxptr_DAEUtil_varKindEqual ( threadData_t threadData,
modelica_metatype  _inVariability1,
modelica_metatype  _inVariability2 
)

Definition at line 3373 of file DAEUtil.c.

3374 {
3375  modelica_boolean _outIsEqual;
3376  modelica_metatype out_outIsEqual;
3377  _outIsEqual = omc_DAEUtil_varKindEqual(threadData, _inVariability1, _inVariability2);
3378  out_outIsEqual = mmc_mk_icon(_outIsEqual);
3379  return out_outIsEqual;
3380 }
DLLExport modelica_boolean omc_DAEUtil_varKindEqual(threadData_t *threadData, modelica_metatype _inVariability1, modelica_metatype _inVariability2)
Definition: DAEUtil.c:3307
signed char modelica_boolean
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_DAEUtil_verifyBoolWhenEquation1()

PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_DAEUtil_verifyBoolWhenEquation1 ( threadData_t threadData,
modelica_metatype  _inElems,
modelica_metatype  _initCond,
modelica_metatype  _inCrefs 
)

Definition at line 14173 of file DAEUtil.c.

14174 {
14175  modelica_integer tmp1;
14176  modelica_metatype _outCrefs = NULL;
14177  tmp1 = mmc_unbox_integer(_initCond);
14178  _outCrefs = omc_DAEUtil_verifyBoolWhenEquation1(threadData, _inElems, tmp1, _inCrefs);
14179  /* skip box _outCrefs; list<DAE.ComponentRef> */
14180  return _outCrefs;
14181 }
m_integer modelica_integer
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_verifyBoolWhenEquation1(threadData_t *threadData, modelica_metatype _inElems, modelica_boolean _initCond, modelica_metatype _inCrefs)
Definition: DAEUtil.c:13742
Here is the call graph for this function:

◆ omc_DAEUtil_addComponentType()

DLLExport modelica_metatype omc_DAEUtil_addComponentType ( threadData_t threadData,
modelica_metatype $in_dae,
modelica_metatype  _newtype 
)

Definition at line 6198 of file DAEUtil.c.

6199 {
6200  modelica_metatype _dae = NULL;
6201  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
6202  MMC_SO();
6203  _tailrecursive: OMC_LABEL_UNUSED
6204  _dae = _$in_dae;
6205 #line 5015 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6206  if((!(omc_Flags_isSet(threadData, _OMC_LIT61) || omc_Flags_isSet(threadData, _OMC_LIT65))))
6207 #line 5015 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6208  {
6209 #line 5016 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6210  goto _return;
6211 #line 6211 OMC_FILE
6212  }
6213 
6214 #line 6214 OMC_FILE
6215  { /* match expression */
6216  modelica_metatype tmp3_1;
6217  tmp3_1 = _dae;
6218  {
6219  modelica_metatype _elts = NULL;
6220  volatile mmc_switch_type tmp3;
6221  int tmp4;
6222  tmp3 = 0;
6223  for (; tmp3 < 1; tmp3++) {
6224  switch (MMC_SWITCH_CAST(tmp3)) {
6225  case 0: {
6226  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
6227  _elts = tmpMeta[1];
6228  /* Pattern matching succeeded */
6229 #line 5023 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6230  _elts = omc_List_map1(threadData, _elts, boxvar_DAEUtil_addComponentType2, _newtype);
6231 #line 6231 OMC_FILE
6232 #line 5024 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6233  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _elts);
6234 #line 5024 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6235  tmpMeta[0] = tmpMeta[1];
6236 #line 6236 OMC_FILE
6237  goto tmp2_done;
6238  }
6239  }
6240  goto tmp2_end;
6241  tmp2_end: ;
6242  }
6243  goto goto_1;
6244  goto_1:;
6245  MMC_THROW_INTERNAL();
6246  goto tmp2_done;
6247  tmp2_done:;
6248  }
6249  }
6250  _dae = tmpMeta[0];
6251  _return: OMC_LABEL_UNUSED
6252  return _dae;
6253 }
float mmc_switch_type
DLLExport modelica_boolean omc_Flags_isSet(threadData_t *threadData, modelica_metatype _inFlag)
Definition: Flags.c:11632
void * modelica_metatype
DLLExport modelica_metatype omc_List_map1(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inMapFunc, modelica_metatype _inArg1)
Definition: List.c:12846
struct record_description DAE_DAElist_DAE__desc
Definition: DAE_records.c:2591
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_addComponentType2()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_addComponentType2 ( threadData_t threadData,
modelica_metatype $in_elt,
modelica_metatype  _inPath 
)

Definition at line 6137 of file DAEUtil.c.

6138 {
6139  modelica_metatype _elt = NULL;
6140  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
6141  MMC_SO();
6142  _tailrecursive: OMC_LABEL_UNUSED
6143  _elt = _$in_elt;
6144 #line 6144 OMC_FILE
6145  { /* match expression */
6146  modelica_metatype tmp3_1;
6147  tmp3_1 = _elt;
6148  {
6149  modelica_metatype _source = NULL;
6150  volatile mmc_switch_type tmp3;
6151  int tmp4;
6152  tmp3 = 0;
6153  for (; tmp3 < 2; tmp3++) {
6154  switch (MMC_SWITCH_CAST(tmp3)) {
6155  case 0: {
6156  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
6157 
6158  /* Pattern matching succeeded */
6159 #line 5040 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6160  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(15));
6161 #line 5040 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6162  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_elt), 15*sizeof(modelica_metatype));
6163 #line 5040 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6164  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[11] = omc_ElementSource_addElementSourceType(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 11))), _inPath);
6165 #line 5040 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6166  _elt = tmpMeta[1];
6167 #line 6167 OMC_FILE
6168 #line 5041 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6169  tmpMeta[0] = _elt;
6170 #line 6170 OMC_FILE
6171  goto tmp2_done;
6172  }
6173  case 1: {
6174 
6175  /* Pattern matching succeeded */
6176 #line 5042 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6177  tmpMeta[0] = _elt;
6178 #line 6178 OMC_FILE
6179  goto tmp2_done;
6180  }
6181  }
6182  goto tmp2_end;
6183  tmp2_end: ;
6184  }
6185  goto goto_1;
6186  goto_1:;
6187  MMC_THROW_INTERNAL();
6188  goto tmp2_done;
6189  tmp2_done:;
6190  }
6191  }
6192  _elt = tmpMeta[0];
6193  _return: OMC_LABEL_UNUSED
6194  return _elt;
6195 }
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
DLLExport modelica_metatype omc_ElementSource_addElementSourceType(threadData_t *threadData, modelica_metatype _ $in_source, modelica_metatype _classPath)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_addComponentTypeOpt()

DLLExport modelica_metatype omc_DAEUtil_addComponentTypeOpt ( threadData_t threadData,
modelica_metatype  _inDae,
modelica_metatype  _inPath 
)

Definition at line 6256 of file DAEUtil.c.

6257 {
6258  modelica_metatype _outDae = NULL;
6259  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
6260  MMC_SO();
6261  _tailrecursive: OMC_LABEL_UNUSED
6262 #line 6262 OMC_FILE
6263  { /* match expression */
6264  modelica_metatype tmp3_1;modelica_metatype tmp3_2;
6265  tmp3_1 = _inDae;
6266  tmp3_2 = _inPath;
6267  {
6268  modelica_metatype _p = NULL;
6269  modelica_metatype _dae = NULL;
6270  volatile mmc_switch_type tmp3;
6271  int tmp4;
6272  tmp3 = 0;
6273  for (; tmp3 < 2; tmp3++) {
6274  switch (MMC_SWITCH_CAST(tmp3)) {
6275  case 0: {
6276  if (optionNone(tmp3_2)) goto tmp2_end;
6277  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1));
6278 
6279  _p = tmpMeta[1];
6280  _dae = tmp3_1;
6281  /* Pattern matching succeeded */
6282 #line 5002 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6283  tmpMeta[0] = omc_DAEUtil_addComponentType(threadData, _dae, _p);
6284 #line 6284 OMC_FILE
6285  goto tmp2_done;
6286  }
6287  case 1: {
6288  if (!optionNone(tmp3_2)) goto tmp2_end;
6289 
6290  _dae = tmp3_1;
6291  /* Pattern matching succeeded */
6292 #line 5004 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6293  tmpMeta[0] = _dae;
6294 #line 6294 OMC_FILE
6295  goto tmp2_done;
6296  }
6297  }
6298  goto tmp2_end;
6299  tmp2_end: ;
6300  }
6301  goto goto_1;
6302  goto_1:;
6303  MMC_THROW_INTERNAL();
6304  goto tmp2_done;
6305  tmp2_done:;
6306  }
6307  }
6308  _outDae = tmpMeta[0];
6309  _return: OMC_LABEL_UNUSED
6310  return _outDae;
6311 }
float mmc_switch_type
void * modelica_metatype
DLLExport modelica_metatype omc_DAEUtil_addComponentType(threadData_t *threadData, modelica_metatype _ $in_dae, modelica_metatype _newtype)
Definition: DAEUtil.c:6198
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_addDaeExtFunction()

DLLExport modelica_metatype omc_DAEUtil_addDaeExtFunction ( threadData_t threadData,
modelica_metatype  _ifuncs,
modelica_metatype  _itree 
)

Definition at line 4191 of file DAEUtil.c.

4192 {
4193  modelica_metatype _outTree = NULL;
4194  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
4195  MMC_SO();
4196  _tailrecursive: OMC_LABEL_UNUSED
4197 #line 4197 OMC_FILE
4198  { /* matchcontinue expression */
4199  volatile modelica_metatype tmp3_1;volatile modelica_metatype tmp3_2;
4200  tmp3_1 = _ifuncs;
4201  tmp3_2 = _itree;
4202  {
4203  modelica_metatype _func = NULL;
4204  modelica_metatype _funcs = NULL;
4205  modelica_metatype _tree = NULL;
4206  volatile mmc_switch_type tmp3;
4207  int tmp4;
4208  tmp3 = 0;
4209  MMC_TRY_INTERNAL(mmc_jumper)
4210  tmp2_top:
4211  threadData->mmc_jumper = &new_mmc_jumper;
4212  for (; tmp3 < 3; tmp3++) {
4213  switch (MMC_SWITCH_CAST(tmp3)) {
4214  case 0: {
4215  if (!listEmpty(tmp3_1)) goto tmp2_end;
4216 
4217  _tree = tmp3_2;
4218  tmp3 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
4219 #line 5621 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4220  tmpMeta[0] = _tree;
4221 #line 4221 OMC_FILE
4222  goto tmp2_done;
4223  }
4224  case 1: {
4225  modelica_boolean tmp5;
4226  if (listEmpty(tmp3_1)) goto tmp2_end;
4227  tmpMeta[1] = MMC_CAR(tmp3_1);
4228  tmpMeta[2] = MMC_CDR(tmp3_1);
4229 
4230  _func = tmpMeta[1];
4231  _funcs = tmpMeta[2];
4232  _tree = tmp3_2;
4233  /* Pattern matching succeeded */
4234 #line 5625 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4235  /* Pattern-matching assignment */
4236 #line 5625 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4237  tmp5 = omc_DAEUtil_isExtFunction(threadData, _func);
4238 #line 5625 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4239  if (1 != tmp5) goto goto_1;
4240 #line 4240 OMC_FILE
4241 
4242 #line 5627 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4243  _tree = omc_DAE_AvlTreePathFunction_add(threadData, _tree, omc_DAEUtil_functionName(threadData, _func), mmc_mk_some(_func), boxvar_DAE_AvlTreePathFunction_addConflictDefault);
4244 #line 4244 OMC_FILE
4245 #line 5628 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4246  tmpMeta[0] = omc_DAEUtil_addDaeExtFunction(threadData, _funcs, _tree);
4247 #line 4247 OMC_FILE
4248  goto tmp2_done;
4249  }
4250  case 2: {
4251  if (listEmpty(tmp3_1)) goto tmp2_end;
4252  tmpMeta[1] = MMC_CAR(tmp3_1);
4253  tmpMeta[2] = MMC_CDR(tmp3_1);
4254 
4255  _funcs = tmpMeta[2];
4256  _tree = tmp3_2;
4257  /* Pattern matching succeeded */
4258 #line 5630 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4259  tmpMeta[0] = omc_DAEUtil_addDaeExtFunction(threadData, _funcs, _tree);
4260 #line 4260 OMC_FILE
4261  goto tmp2_done;
4262  }
4263  }
4264  goto tmp2_end;
4265  tmp2_end: ;
4266  }
4267  goto goto_1;
4268  tmp2_done:
4269  (void)tmp3;
4270  MMC_RESTORE_INTERNAL(mmc_jumper);
4271  goto tmp2_done2;
4272  goto_1:;
4273  MMC_CATCH_INTERNAL(mmc_jumper);
4274  if (++tmp3 < 3) {
4275  goto tmp2_top;
4276  }
4277  MMC_THROW_INTERNAL();
4278  tmp2_done2:;
4279  }
4280  }
4281  _outTree = tmpMeta[0];
4282  _return: OMC_LABEL_UNUSED
4283  return _outTree;
4284 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_metatype omc_DAE_AvlTreePathFunction_add(threadData_t *threadData, modelica_metatype _inTree, modelica_metatype _inKey, modelica_metatype _inValue, modelica_fnptr _conflictFunc)
Definition: DAE.c:84
DLLExport modelica_boolean omc_DAEUtil_isExtFunction(threadData_t *threadData, modelica_metatype _elt)
Definition: DAEUtil.c:6074
DLLExport modelica_metatype omc_DAEUtil_functionName(threadData_t *threadData, modelica_metatype _elt)
Definition: DAEUtil.c:6019
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
DLLExport modelica_metatype omc_DAEUtil_addDaeExtFunction(threadData_t *threadData, modelica_metatype _ifuncs, modelica_metatype _itree)
Definition: DAEUtil.c:4191
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_addDaeFunction()

DLLExport modelica_metatype omc_DAEUtil_addDaeFunction ( threadData_t threadData,
modelica_metatype  _functions,
modelica_metatype $in_functionTree 
)

Definition at line 4343 of file DAEUtil.c.

4344 {
4345  modelica_metatype _functionTree = NULL;
4346  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
4347  MMC_SO();
4348  _tailrecursive: OMC_LABEL_UNUSED
4349  _functionTree = _$in_functionTree;
4350 #line 5581 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4351  {
4352 #line 5581 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4353  modelica_metatype _f;
4354 #line 5581 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4355  for (tmpMeta[0] = _functions; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
4356 #line 5581 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4357  {
4358 #line 5581 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4359  _f = MMC_CAR(tmpMeta[0]);
4360 #line 5582 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4361  _functionTree = omc_DAE_AvlTreePathFunction_add(threadData, _functionTree, omc_DAEUtil_functionName(threadData, _f), mmc_mk_some(_f), boxvar_DAE_AvlTreePathFunction_addConflictDefault);
4362 #line 4362 OMC_FILE
4363  }
4364  }
4365  _return: OMC_LABEL_UNUSED
4366  return _functionTree;
4367 }
DLLExport modelica_metatype omc_DAE_AvlTreePathFunction_add(threadData_t *threadData, modelica_metatype _inTree, modelica_metatype _inKey, modelica_metatype _inValue, modelica_fnptr _conflictFunc)
Definition: DAE.c:84
DLLExport modelica_metatype omc_DAEUtil_functionName(threadData_t *threadData, modelica_metatype _elt)
Definition: DAEUtil.c:6019
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_addEquationBoundString()

DLLExport modelica_metatype omc_DAEUtil_addEquationBoundString ( threadData_t threadData,
modelica_metatype  _bindExp,
modelica_metatype  _attr 
)

Definition at line 25337 of file DAEUtil.c.

25338 {
25339  modelica_metatype _oattr = NULL;
25340  modelica_metatype tmpMeta[16] __attribute__((unused)) = {0};
25341  MMC_SO();
25342  _tailrecursive: OMC_LABEL_UNUSED
25343 #line 25343 OMC_FILE
25344  { /* match expression */
25345  modelica_metatype tmp3_1;
25346  tmp3_1 = _attr;
25347  {
25348  modelica_metatype _e1 = NULL;
25349  modelica_metatype _e2 = NULL;
25350  modelica_metatype _e3 = NULL;
25351  modelica_metatype _e4 = NULL;
25352  modelica_metatype _e5 = NULL;
25353  modelica_metatype _e6 = NULL;
25354  modelica_metatype _so = NULL;
25355  modelica_metatype _min = NULL;
25356  modelica_metatype _max = NULL;
25357  modelica_metatype _sSelectOption = NULL;
25358  modelica_metatype _unc = NULL;
25359  modelica_metatype _distOption = NULL;
25360  modelica_metatype _ip = NULL;
25361  modelica_metatype _fn = NULL;
25362  volatile mmc_switch_type tmp3;
25363  int tmp4;
25364  tmp3 = 0;
25365  for (; tmp3 < 6; tmp3++) {
25366  switch (MMC_SWITCH_CAST(tmp3)) {
25367  case 0: {
25368  if (optionNone(tmp3_1)) goto tmp2_end;
25369  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
25370  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
25371  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
25372  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
25373  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
25374  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
25375  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
25376  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
25377  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
25378  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
25379  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
25380  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 11));
25381  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 12));
25382  tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 14));
25383  tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 15));
25384  tmpMeta[15] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 16));
25385  _e1 = tmpMeta[2];
25386  _e2 = tmpMeta[3];
25387  _e3 = tmpMeta[4];
25388  _min = tmpMeta[5];
25389  _max = tmpMeta[6];
25390  _e4 = tmpMeta[7];
25391  _e5 = tmpMeta[8];
25392  _e6 = tmpMeta[9];
25393  _sSelectOption = tmpMeta[10];
25394  _unc = tmpMeta[11];
25395  _distOption = tmpMeta[12];
25396  _ip = tmpMeta[13];
25397  _fn = tmpMeta[14];
25398  _so = tmpMeta[15];
25399  /* Pattern matching succeeded */
25400 #line 316 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25401  tmpMeta[1] = mmc_mk_box16(3, &DAE_VariableAttributes_VAR__ATTR__REAL__desc, _e1, _e2, _e3, _min, _max, _e4, _e5, _e6, _sSelectOption, _unc, _distOption, mmc_mk_some(_bindExp), _ip, _fn, _so);
25402 #line 316 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25403  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
25404 #line 25404 OMC_FILE
25405  goto tmp2_done;
25406  }
25407  case 1: {
25408  if (optionNone(tmp3_1)) goto tmp2_end;
25409  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
25410  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,11) == 0) goto tmp2_end;
25411  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
25412  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
25413  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
25414  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
25415  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
25416  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
25417  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
25418  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
25419  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 11));
25420  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 12));
25421  _e1 = tmpMeta[2];
25422  _min = tmpMeta[3];
25423  _max = tmpMeta[4];
25424  _e2 = tmpMeta[5];
25425  _e3 = tmpMeta[6];
25426  _unc = tmpMeta[7];
25427  _distOption = tmpMeta[8];
25428  _ip = tmpMeta[9];
25429  _fn = tmpMeta[10];
25430  _so = tmpMeta[11];
25431  /* Pattern matching succeeded */
25432 #line 319 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25433  tmpMeta[1] = mmc_mk_box12(4, &DAE_VariableAttributes_VAR__ATTR__INT__desc, _e1, _min, _max, _e2, _e3, _unc, _distOption, mmc_mk_some(_bindExp), _ip, _fn, _so);
25434 #line 319 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25435  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
25436 #line 25436 OMC_FILE
25437  goto tmp2_done;
25438  }
25439  case 2: {
25440  if (optionNone(tmp3_1)) goto tmp2_end;
25441  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
25442  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,7) == 0) goto tmp2_end;
25443  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
25444  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
25445  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
25446  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
25447  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
25448  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
25449  _e1 = tmpMeta[2];
25450  _e2 = tmpMeta[3];
25451  _e3 = tmpMeta[4];
25452  _ip = tmpMeta[5];
25453  _fn = tmpMeta[6];
25454  _so = tmpMeta[7];
25455  /* Pattern matching succeeded */
25456 #line 322 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25457  tmpMeta[1] = mmc_mk_box8(5, &DAE_VariableAttributes_VAR__ATTR__BOOL__desc, _e1, _e2, _e3, mmc_mk_some(_bindExp), _ip, _fn, _so);
25458 #line 322 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25459  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
25460 #line 25460 OMC_FILE
25461  goto tmp2_done;
25462  }
25463  case 3: {
25464  if (optionNone(tmp3_1)) goto tmp2_end;
25465  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
25466  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,7) == 0) goto tmp2_end;
25467  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
25468  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
25469  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
25470  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
25471  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
25472  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
25473  _e1 = tmpMeta[2];
25474  _e2 = tmpMeta[3];
25475  _e3 = tmpMeta[4];
25476  _ip = tmpMeta[5];
25477  _fn = tmpMeta[6];
25478  _so = tmpMeta[7];
25479  /* Pattern matching succeeded */
25480 #line 325 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25481  tmpMeta[1] = mmc_mk_box8(7, &DAE_VariableAttributes_VAR__ATTR__STRING__desc, _e1, _e2, _e3, mmc_mk_some(_bindExp), _ip, _fn, _so);
25482 #line 325 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25483  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
25484 #line 25484 OMC_FILE
25485  goto tmp2_done;
25486  }
25487  case 4: {
25488  if (optionNone(tmp3_1)) goto tmp2_end;
25489  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
25490  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,9) == 0) goto tmp2_end;
25491  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
25492  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
25493  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
25494  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
25495  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
25496  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
25497  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
25498  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
25499  _e1 = tmpMeta[2];
25500  _min = tmpMeta[3];
25501  _max = tmpMeta[4];
25502  _e2 = tmpMeta[5];
25503  _e3 = tmpMeta[6];
25504  _ip = tmpMeta[7];
25505  _fn = tmpMeta[8];
25506  _so = tmpMeta[9];
25507  /* Pattern matching succeeded */
25508 #line 328 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25509  tmpMeta[1] = mmc_mk_box10(8, &DAE_VariableAttributes_VAR__ATTR__ENUMERATION__desc, _e1, _min, _max, _e2, _e3, mmc_mk_some(_bindExp), _ip, _fn, _so);
25510 #line 328 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25511  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
25512 #line 25512 OMC_FILE
25513  goto tmp2_done;
25514  }
25515  case 5: {
25516 
25517  /* Pattern matching succeeded */
25518 #line 330 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25519  fputs(MMC_STRINGDATA(_OMC_LIT162),stdout);
25520 #line 25520 OMC_FILE
25521 #line 330 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25522  goto goto_1;
25523 #line 25523 OMC_FILE
25524  goto tmp2_done;
25525  }
25526  }
25527  goto tmp2_end;
25528  tmp2_end: ;
25529  }
25530  goto goto_1;
25531  goto_1:;
25532  MMC_THROW_INTERNAL();
25533  goto tmp2_done;
25534  tmp2_done:;
25535  }
25536  }
25537  _oattr = tmpMeta[0];
25538  _return: OMC_LABEL_UNUSED
25539  return _oattr;
25540 }
float mmc_switch_type
struct record_description DAE_VariableAttributes_VAR__ATTR__ENUMERATION__desc
Definition: DAE_records.c:2136
struct record_description DAE_VariableAttributes_VAR__ATTR__REAL__desc
Definition: DAE_records.c:2071
struct record_description DAE_VariableAttributes_VAR__ATTR__BOOL__desc
Definition: DAE_records.c:2097
void * modelica_metatype
struct record_description DAE_VariableAttributes_VAR__ATTR__STRING__desc
Definition: DAE_records.c:2123
struct record_description DAE_VariableAttributes_VAR__ATTR__INT__desc
Definition: DAE_records.c:2084
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_addFunctionDefinition()

DLLExport modelica_metatype omc_DAEUtil_addFunctionDefinition ( threadData_t threadData,
modelica_metatype  _ifunc,
modelica_metatype  _iFuncDef 
)

Definition at line 4287 of file DAEUtil.c.

4288 {
4289  modelica_metatype _func = NULL;
4290  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
4291  MMC_SO();
4292  _tailrecursive: OMC_LABEL_UNUSED
4293  _func = _ifunc;
4294 #line 4294 OMC_FILE
4295  { /* match expression */
4296  modelica_metatype tmp3_1;
4297  tmp3_1 = _func;
4298  {
4299  volatile mmc_switch_type tmp3;
4300  int tmp4;
4301  tmp3 = 0;
4302  for (; tmp3 < 2; tmp3++) {
4303  switch (MMC_SWITCH_CAST(tmp3)) {
4304  case 0: {
4305  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,9) == 0) goto tmp2_end;
4306 
4307  /* Pattern matching succeeded */
4308 #line 5595 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4309  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(11));
4310 #line 5595 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4311  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_func), 11*sizeof(modelica_metatype));
4312 #line 5595 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4313  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = omc_List_appendElt(threadData, _iFuncDef, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 3))));
4314 #line 5595 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4315  _func = tmpMeta[0];
4316 #line 4316 OMC_FILE
4317 #line 4317 OMC_FILE
4318  goto tmp2_done;
4319  }
4320  case 1: {
4321 
4322  /* Pattern matching succeeded */
4323 #line 4323 OMC_FILE
4324  goto tmp2_done;
4325  }
4326  }
4327  goto tmp2_end;
4328  tmp2_end: ;
4329  }
4330  goto goto_1;
4331  goto_1:;
4332  MMC_THROW_INTERNAL();
4333  goto tmp2_done;
4334  tmp2_done:;
4335  }
4336  }
4337  ;
4338  _return: OMC_LABEL_UNUSED
4339  return _func;
4340 }
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
DLLExport modelica_metatype omc_List_appendElt(threadData_t *threadData, modelica_metatype _inElement, modelica_metatype _inList)
Definition: List.c:17890
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_addUniqueIdentifierToCref()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_addUniqueIdentifierToCref ( threadData_t threadData,
modelica_metatype  _inExp,
modelica_metatype  _oarg,
modelica_metatype out_outDummy 
)

Definition at line 11873 of file DAEUtil.c.

11874 {
11875  modelica_metatype _outExp = NULL;
11876  modelica_metatype _outDummy = NULL;
11877  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
11878  MMC_SO();
11879  _tailrecursive: OMC_LABEL_UNUSED
11880 #line 3710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11881 
11882 #line 3710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11883 
11884 #line 11884 OMC_FILE
11885  { /* matchcontinue expression */
11886  volatile modelica_metatype tmp4_1;
11887  tmp4_1 = _inExp;
11888  {
11889  modelica_metatype _cr = NULL;
11890  modelica_metatype _cr2 = NULL;
11891  modelica_metatype _ty = NULL;
11892  modelica_metatype _exp = NULL;
11893  volatile mmc_switch_type tmp4;
11894  int tmp5;
11895  tmp4 = 0;
11896  MMC_TRY_INTERNAL(mmc_jumper)
11897  tmp3_top:
11898  threadData->mmc_jumper = &new_mmc_jumper;
11899  for (; tmp4 < 2; tmp4++) {
11900  switch (MMC_SWITCH_CAST(tmp4)) {
11901  case 0: {
11902  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2) == 0) goto tmp3_end;
11903  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
11904  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
11905  _cr = tmpMeta[2];
11906  _ty = tmpMeta[3];
11907  /* Pattern matching succeeded */
11908 #line 3718 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11909  _cr2 = omc_DAEUtil_nameInnerouterUniqueCref(threadData, _cr);
11910 #line 11910 OMC_FILE
11911 
11912 #line 3719 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11913  _exp = omc_Expression_makeCrefExp(threadData, _cr2, _ty);
11914 #line 11914 OMC_FILE
11915 #line 3720 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11916  tmpMeta[0+0] = _exp;
11917 #line 3720 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11918  tmpMeta[0+1] = _oarg;
11919 #line 11919 OMC_FILE
11920  goto tmp3_done;
11921  }
11922  case 1: {
11923 
11924  /* Pattern matching succeeded */
11925 #line 3722 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11926  tmpMeta[0+0] = _inExp;
11927 #line 3722 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11928  tmpMeta[0+1] = _oarg;
11929 #line 11929 OMC_FILE
11930  goto tmp3_done;
11931  }
11932  }
11933  goto tmp3_end;
11934  tmp3_end: ;
11935  }
11936  goto goto_2;
11937  tmp3_done:
11938  (void)tmp4;
11939  MMC_RESTORE_INTERNAL(mmc_jumper);
11940  goto tmp3_done2;
11941  goto_2:;
11942  MMC_CATCH_INTERNAL(mmc_jumper);
11943  if (++tmp4 < 2) {
11944  goto tmp3_top;
11945  }
11946  MMC_THROW_INTERNAL();
11947  tmp3_done2:;
11948  }
11949  }
11950  _outExp = tmpMeta[0+0];
11951  _outDummy = tmpMeta[0+1];
11952  _return: OMC_LABEL_UNUSED
11953  if (out_outDummy) { *out_outDummy = _outDummy; }
11954  return _outExp;
11955 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
DLLExport modelica_metatype omc_Expression_makeCrefExp(threadData_t *threadData, modelica_metatype _inCref, modelica_metatype _inExpType)
Definition: Expression.c:41428
float mmc_switch_type
void * modelica_metatype
DLLExport modelica_metatype omc_DAEUtil_nameInnerouterUniqueCref(threadData_t *threadData, modelica_metatype _inCr)
Definition: DAEUtil.c:24101
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:

◆ omc_DAEUtil_assertProtectedVar()

DLLExport void omc_DAEUtil_assertProtectedVar ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19621 of file DAEUtil.c.

19622 {
19623  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
19624  MMC_SO();
19625  _tailrecursive: OMC_LABEL_UNUSED
19626 #line 19626 OMC_FILE
19627  { /* match expression */
19628  modelica_metatype tmp3_1;
19629  tmp3_1 = _inElement;
19630  {
19631  volatile mmc_switch_type tmp3;
19632  int tmp4;
19633  tmp3 = 0;
19634  for (; tmp3 < 1; tmp3++) {
19635  switch (MMC_SWITCH_CAST(tmp3)) {
19636  case 0: {
19637  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
19638  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 6));
19639  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],1,0) == 0) goto tmp2_end;
19640 
19641  /* Pattern matching succeeded */
19642 #line 19642 OMC_FILE
19643  goto tmp2_done;
19644  }
19645  }
19646  goto tmp2_end;
19647  tmp2_end: ;
19648  }
19649  goto goto_1;
19650  goto_1:;
19651  MMC_THROW_INTERNAL();
19652  goto tmp2_done;
19653  tmp2_done:;
19654  }
19655  }
19656  ;
19657  _return: OMC_LABEL_UNUSED
19658  return;
19659 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_bindingExp()

DLLExport modelica_metatype omc_DAEUtil_bindingExp ( threadData_t threadData,
modelica_metatype  _bind 
)

Definition at line 3698 of file DAEUtil.c.

3699 {
3700  modelica_metatype _exp = NULL;
3701  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
3702  MMC_SO();
3703  _tailrecursive: OMC_LABEL_UNUSED
3704 #line 3704 OMC_FILE
3705  { /* match expression */
3706  modelica_metatype tmp3_1;
3707  tmp3_1 = _bind;
3708  {
3709  modelica_metatype _e = NULL;
3710  modelica_metatype _v = NULL;
3711  volatile mmc_switch_type tmp3;
3712  int tmp4;
3713  tmp3 = 0;
3714  for (; tmp3 < 4; tmp3++) {
3715  switch (MMC_SWITCH_CAST(tmp3)) {
3716  case 0: {
3717  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,0) == 0) goto tmp2_end;
3718  /* Pattern matching succeeded */
3719 #line 5790 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3720  tmpMeta[0] = mmc_mk_none();
3721 #line 3721 OMC_FILE
3722  goto tmp2_done;
3723  }
3724  case 1: {
3725  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,4) == 0) goto tmp2_end;
3726  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
3727  if (optionNone(tmpMeta[1])) goto tmp2_end;
3728  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
3729 
3730  _v = tmpMeta[2];
3731  /* Pattern matching succeeded */
3732 #line 5793 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3733  _e = omc_ValuesUtil_valueExp(threadData, _v);
3734 #line 3734 OMC_FILE
3735 #line 5794 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3736  tmpMeta[0] = mmc_mk_some(_e);
3737 #line 3737 OMC_FILE
3738  goto tmp2_done;
3739  }
3740  case 2: {
3741  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,4) == 0) goto tmp2_end;
3742  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
3743 
3744  _e = tmpMeta[1];
3745  /* Pattern matching succeeded */
3746 #line 5796 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3747  tmpMeta[0] = mmc_mk_some(_e);
3748 #line 3748 OMC_FILE
3749  goto tmp2_done;
3750  }
3751  case 3: {
3752  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,2,2) == 0) goto tmp2_end;
3753  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
3754 
3755  _v = tmpMeta[1];
3756  /* Pattern matching succeeded */
3757 #line 5799 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3758  _e = omc_ValuesUtil_valueExp(threadData, _v);
3759 #line 3759 OMC_FILE
3760 #line 5800 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3761  tmpMeta[0] = mmc_mk_some(_e);
3762 #line 3762 OMC_FILE
3763  goto tmp2_done;
3764  }
3765  }
3766  goto tmp2_end;
3767  tmp2_end: ;
3768  }
3769  goto goto_1;
3770  goto_1:;
3771  MMC_THROW_INTERNAL();
3772  goto tmp2_done;
3773  tmp2_done:;
3774  }
3775  }
3776  _exp = tmpMeta[0];
3777  _return: OMC_LABEL_UNUSED
3778  return _exp;
3779 }
DLLExport modelica_metatype omc_ValuesUtil_valueExp(threadData_t *threadData, modelica_metatype _inValue)
Definition: ValuesUtil.c:6402
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_bindingValue()

DLLExport modelica_metatype omc_DAEUtil_bindingValue ( threadData_t threadData,
modelica_metatype  _inBinding 
)

Definition at line 2285 of file DAEUtil.c.

2286 {
2287  modelica_metatype _outValue = NULL;
2288  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2289  MMC_SO();
2290  _tailrecursive: OMC_LABEL_UNUSED
2291 #line 2291 OMC_FILE
2292  { /* match expression */
2293  modelica_metatype tmp3_1;
2294  tmp3_1 = _inBinding;
2295  {
2296  int tmp3;
2297  {
2298  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
2299  case 4: {
2300 
2301  /* Pattern matching succeeded */
2302 #line 6173 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2303  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inBinding), 3)));
2304 #line 2304 OMC_FILE
2305  goto tmp2_done;
2306  }
2307  case 5: {
2308 
2309  /* Pattern matching succeeded */
2310 #line 6174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2311  tmpMeta[0] = mmc_mk_some((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inBinding), 2))));
2312 #line 2312 OMC_FILE
2313  goto tmp2_done;
2314  }
2315  default:
2316  tmp2_default: OMC_LABEL_UNUSED; {
2317 
2318  /* Pattern matching succeeded */
2319 #line 6175 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2320  tmpMeta[0] = mmc_mk_none();
2321 #line 2321 OMC_FILE
2322  goto tmp2_done;
2323  }
2324  }
2325  goto tmp2_end;
2326  tmp2_end: ;
2327  }
2328  goto goto_1;
2329  goto_1:;
2330  MMC_THROW_INTERNAL();
2331  goto tmp2_done;
2332  tmp2_done:;
2333  }
2334  }
2335  _outValue = tmpMeta[0];
2336  _return: OMC_LABEL_UNUSED
2337  return _outValue;
2338 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_boolVarVisibility()

DLLExport modelica_boolean omc_DAEUtil_boolVarVisibility ( threadData_t threadData,
modelica_metatype  _vp 
)

Definition at line 20887 of file DAEUtil.c.

20888 {
20889  modelica_boolean _prot;
20890  modelica_boolean tmp1 = 0;
20891  MMC_SO();
20892  _tailrecursive: OMC_LABEL_UNUSED
20893 #line 20893 OMC_FILE
20894  { /* match expression */
20895  modelica_metatype tmp4_1;
20896  tmp4_1 = _vp;
20897  {
20898  int tmp4;
20899  {
20900  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
20901  case 3: {
20902 
20903  /* Pattern matching succeeded */
20904 #line 1336 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20905  tmp1 = 0;
20906 #line 20906 OMC_FILE
20907  goto tmp3_done;
20908  }
20909  case 4: {
20910 
20911  /* Pattern matching succeeded */
20912 #line 1337 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20913  tmp1 = 1;
20914 #line 20914 OMC_FILE
20915  goto tmp3_done;
20916  }
20917  default:
20918  tmp3_default: OMC_LABEL_UNUSED; {
20919 
20920  /* Pattern matching succeeded */
20921 #line 1338 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20922  fputs(MMC_STRINGDATA(_OMC_LIT148),stdout);
20923 #line 20923 OMC_FILE
20924 #line 1338 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20925  goto goto_2;
20926 #line 20926 OMC_FILE
20927  goto tmp3_done;
20928  }
20929  }
20930  goto tmp3_end;
20931  tmp3_end: ;
20932  }
20933  goto goto_2;
20934  goto_2:;
20935  MMC_THROW_INTERNAL();
20936  goto tmp3_done;
20937  tmp3_done:;
20938  }
20939  }
20940  _prot = tmp1;
20941  _return: OMC_LABEL_UNUSED
20942  return _prot;
20943 }
signed char modelica_boolean
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_collectAllExpandableCrefsInExp()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_collectAllExpandableCrefsInExp ( threadData_t threadData,
modelica_metatype  _exp,
modelica_metatype  _acc,
modelica_metatype out_outCrefs 
)

Definition at line 2774 of file DAEUtil.c.

2775 {
2776  modelica_metatype _outExp = NULL;
2777  modelica_metatype _outCrefs = NULL;
2778  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
2779  MMC_SO();
2780  _tailrecursive: OMC_LABEL_UNUSED
2781 #line 6053 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2782 
2783 #line 6053 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2784 
2785 #line 2785 OMC_FILE
2786  { /* match expression */
2787  modelica_metatype tmp4_1;
2788  tmp4_1 = _exp;
2789  {
2790  modelica_metatype _cr = NULL;
2791  volatile mmc_switch_type tmp4;
2792  int tmp5;
2793  tmp4 = 0;
2794  for (; tmp4 < 2; tmp4++) {
2795  switch (MMC_SWITCH_CAST(tmp4)) {
2796  case 0: {
2797  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2) == 0) goto tmp3_end;
2798  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
2799 
2800  _cr = tmpMeta[2];
2801  /* Pattern matching succeeded */
2802 #line 6058 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2803  tmpMeta[0+0] = _exp;
2804 #line 6058 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2805  tmpMeta[0+1] = omc_List_consOnTrue(threadData, omc_ConnectUtil_isExpandable(threadData, _cr), _cr, _acc);
2806 #line 2806 OMC_FILE
2807  goto tmp3_done;
2808  }
2809  case 1: {
2810 
2811  /* Pattern matching succeeded */
2812 #line 6060 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2813  tmpMeta[0+0] = _exp;
2814 #line 6060 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2815  tmpMeta[0+1] = _acc;
2816 #line 2816 OMC_FILE
2817  goto tmp3_done;
2818  }
2819  }
2820  goto tmp3_end;
2821  tmp3_end: ;
2822  }
2823  goto goto_2;
2824  goto_2:;
2825  MMC_THROW_INTERNAL();
2826  goto tmp3_done;
2827  tmp3_done:;
2828  }
2829  }
2830  _outExp = tmpMeta[0+0];
2831  _outCrefs = tmpMeta[0+1];
2832  _return: OMC_LABEL_UNUSED
2833  if (out_outCrefs) { *out_outCrefs = _outCrefs; }
2834  return _outExp;
2835 }
DLLExport modelica_boolean omc_ConnectUtil_isExpandable(threadData_t *threadData, modelica_metatype _name)
Definition: ConnectUtil.c:9280
float mmc_switch_type
DLLExport modelica_metatype omc_List_consOnTrue(threadData_t *threadData, modelica_boolean _inCondition, modelica_metatype _inElement, modelica_metatype _inList)
Definition: List.c:18180
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_collectFunctionRefVarPaths()

DLLExport modelica_metatype omc_DAEUtil_collectFunctionRefVarPaths ( threadData_t threadData,
modelica_metatype  _inElem,
modelica_metatype  _acc 
)

Definition at line 4370 of file DAEUtil.c.

4371 {
4372  modelica_metatype _outAcc = NULL;
4373  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
4374  MMC_SO();
4375  _tailrecursive: OMC_LABEL_UNUSED
4376 #line 4376 OMC_FILE
4377  { /* match expression */
4378  modelica_metatype tmp3_1;
4379  tmp3_1 = _inElem;
4380  {
4381  modelica_metatype _path = NULL;
4382  volatile mmc_switch_type tmp3;
4383  int tmp4;
4384  tmp3 = 0;
4385  for (; tmp3 < 2; tmp3++) {
4386  switch (MMC_SWITCH_CAST(tmp3)) {
4387  case 0: {
4388  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
4389  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 7));
4390  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],11,4) == 0) goto tmp2_end;
4391  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
4392 
4393  _path = tmpMeta[2];
4394  /* Pattern matching succeeded */
4395 #line 5572 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4396  tmpMeta[1] = mmc_mk_cons(_path, _acc);
4397 #line 5572 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4398  tmpMeta[0] = tmpMeta[1];
4399 #line 4399 OMC_FILE
4400  goto tmp2_done;
4401  }
4402  case 1: {
4403 
4404  /* Pattern matching succeeded */
4405 #line 5573 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4406  tmpMeta[0] = _acc;
4407 #line 4407 OMC_FILE
4408  goto tmp2_done;
4409  }
4410  }
4411  goto tmp2_end;
4412  tmp2_end: ;
4413  }
4414  goto goto_1;
4415  goto_1:;
4416  MMC_THROW_INTERNAL();
4417  goto tmp2_done;
4418  tmp2_done:;
4419  }
4420  }
4421  _outAcc = tmpMeta[0];
4422  _return: OMC_LABEL_UNUSED
4423  return _outAcc;
4424 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_collectLocalDecls()

DLLExport modelica_metatype omc_DAEUtil_collectLocalDecls ( threadData_t threadData,
modelica_metatype  _e,
modelica_metatype  _inElements,
modelica_metatype out_outElements 
)

Definition at line 5146 of file DAEUtil.c.

5147 {
5148  modelica_metatype _outExp = NULL;
5149  modelica_metatype _outElements = NULL;
5150  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
5151  MMC_SO();
5152  _tailrecursive: OMC_LABEL_UNUSED
5153 #line 5281 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5154 
5155 #line 5281 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5156 
5157 #line 5157 OMC_FILE
5158  { /* match expression */
5159  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
5160  tmp4_1 = _e;
5161  tmp4_2 = _inElements;
5162  {
5163  modelica_metatype _ld1 = NULL;
5164  modelica_metatype _ld2 = NULL;
5165  modelica_metatype _ld = NULL;
5166  volatile mmc_switch_type tmp4;
5167  int tmp5;
5168  tmp4 = 0;
5169  for (; tmp4 < 2; tmp4++) {
5170  switch (MMC_SWITCH_CAST(tmp4)) {
5171  case 0: {
5172  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,33,6) == 0) goto tmp3_end;
5173  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 5));
5174 
5175  _ld1 = tmpMeta[2];
5176  _ld2 = tmp4_2;
5177  /* Pattern matching succeeded */
5178 #line 5286 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5179  _ld = listAppend(_ld1, _ld2);
5180 #line 5180 OMC_FILE
5181 #line 5287 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5182  tmpMeta[0+0] = _e;
5183 #line 5287 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5184  tmpMeta[0+1] = _ld;
5185 #line 5185 OMC_FILE
5186  goto tmp3_done;
5187  }
5188  case 1: {
5189 
5190  /* Pattern matching succeeded */
5191 #line 5288 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5192  tmpMeta[0+0] = _e;
5193 #line 5288 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5194  tmpMeta[0+1] = _inElements;
5195 #line 5195 OMC_FILE
5196  goto tmp3_done;
5197  }
5198  }
5199  goto tmp3_end;
5200  tmp3_end: ;
5201  }
5202  goto goto_2;
5203  goto_2:;
5204  MMC_THROW_INTERNAL();
5205  goto tmp3_done;
5206  tmp3_done:;
5207  }
5208  }
5209  _outExp = tmpMeta[0+0];
5210  _outElements = tmpMeta[0+1];
5211  _return: OMC_LABEL_UNUSED
5212  if (out_outElements) { *out_outElements = _outElements; }
5213  return _outExp;
5214 }
float mmc_switch_type
modelica_metatype listAppend(modelica_metatype, modelica_metatype)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_collectValueblockFunctionRefVars()

DLLExport modelica_metatype omc_DAEUtil_collectValueblockFunctionRefVars ( threadData_t threadData,
modelica_metatype  _exp,
modelica_metatype  _acc,
modelica_metatype out_outAcc 
)

Definition at line 4427 of file DAEUtil.c.

4428 {
4429  modelica_metatype _outExp = NULL;
4430  modelica_metatype _outAcc = NULL;
4431  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
4432  MMC_SO();
4433  _tailrecursive: OMC_LABEL_UNUSED
4434 #line 5551 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4435 
4436 #line 5551 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4437 
4438 #line 4438 OMC_FILE
4439  { /* match expression */
4440  modelica_metatype tmp4_1;
4441  tmp4_1 = _exp;
4442  {
4443  modelica_metatype _decls = NULL;
4444  volatile mmc_switch_type tmp4;
4445  int tmp5;
4446  tmp4 = 0;
4447  for (; tmp4 < 2; tmp4++) {
4448  switch (MMC_SWITCH_CAST(tmp4)) {
4449  case 0: {
4450  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,33,6) == 0) goto tmp3_end;
4451  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 5));
4452 
4453  _decls = tmpMeta[2];
4454  /* Pattern matching succeeded */
4455 #line 5556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4456  _outAcc = omc_List_fold(threadData, _decls, boxvar_DAEUtil_collectFunctionRefVarPaths, _acc);
4457 #line 4457 OMC_FILE
4458 #line 5557 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4459  tmpMeta[0+0] = _exp;
4460 #line 5557 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4461  tmpMeta[0+1] = _outAcc;
4462 #line 4462 OMC_FILE
4463  goto tmp3_done;
4464  }
4465  case 1: {
4466 
4467  /* Pattern matching succeeded */
4468 #line 5558 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4469  tmpMeta[0+0] = _exp;
4470 #line 5558 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4471  tmpMeta[0+1] = _acc;
4472 #line 4472 OMC_FILE
4473  goto tmp3_done;
4474  }
4475  }
4476  goto tmp3_end;
4477  tmp3_end: ;
4478  }
4479  goto goto_2;
4480  goto_2:;
4481  MMC_THROW_INTERNAL();
4482  goto tmp3_done;
4483  tmp3_done:;
4484  }
4485  }
4486  _outExp = tmpMeta[0+0];
4487  _outAcc = tmpMeta[0+1];
4488  _return: OMC_LABEL_UNUSED
4489  if (out_outAcc) { *out_outAcc = _outAcc; }
4490  return _outExp;
4491 }
float mmc_switch_type
void * modelica_metatype
DLLExport modelica_metatype omc_List_fold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFoldFunc, modelica_metatype _inStartValue)
Definition: List.c:9662
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_collectWhenCrefs()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_collectWhenCrefs ( threadData_t threadData,
modelica_metatype  _inExps,
modelica_metatype  _source,
modelica_metatype  _inCrefs 
)

Definition at line 13730 of file DAEUtil.c.

13731 {
13732  modelica_metatype _outCrefs = NULL;
13733  MMC_SO();
13734  _tailrecursive: OMC_LABEL_UNUSED
13735 #line 3234 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13736  _outCrefs = omc_List_fold1(threadData, _inExps, boxvar_DAEUtil_collectWhenCrefs1, _source, _inCrefs);
13737 #line 13737 OMC_FILE
13738  _return: OMC_LABEL_UNUSED
13739  return _outCrefs;
13740 }
void * modelica_metatype
DLLExport modelica_metatype omc_List_fold1(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFoldFunc, modelica_metatype _inExtraArg, modelica_metatype _inStartValue)
Definition: List.c:9608
Here is the call graph for this function:

◆ omc_DAEUtil_collectWhenCrefs1()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_collectWhenCrefs1 ( threadData_t threadData,
modelica_metatype  _inExp,
modelica_metatype  _source,
modelica_metatype  _inCrefs 
)

Definition at line 13650 of file DAEUtil.c.

13651 {
13652  modelica_metatype _outCrefs = NULL;
13653  modelica_metatype _e = NULL;
13654  modelica_metatype _exps = NULL;
13655  modelica_metatype _cr = NULL;
13656  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
13657  MMC_SO();
13658  _tailrecursive: OMC_LABEL_UNUSED
13659 #line 13659 OMC_FILE
13660  { /* match expression */
13661  modelica_metatype tmp3_1;
13662  tmp3_1 = _inExp;
13663  {
13664  modelica_string _msg = NULL;
13665  modelica_metatype _info = NULL;
13666  int tmp3;
13667  {
13668  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
13669  case 9: {
13670  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,6,2) == 0) goto tmp2_end;
13671  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
13672 
13673  _cr = tmpMeta[1];
13674  /* Pattern matching succeeded */
13675 #line 3251 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13676  tmpMeta[1] = mmc_mk_cons(_cr, _inCrefs);
13677 #line 3251 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13678  tmpMeta[0] = tmpMeta[1];
13679 #line 13679 OMC_FILE
13680  goto tmp2_done;
13681  }
13682  case 22: {
13683  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,19,1) == 0) goto tmp2_end;
13684  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
13685  _exps = tmpMeta[1];
13686  /* Pattern matching succeeded */
13687 #line 3252 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13688  tmpMeta[0] = omc_DAEUtil_collectWhenCrefs(threadData, _exps, _source, _inCrefs);
13689 #line 13689 OMC_FILE
13690  goto tmp2_done;
13691  }
13692  default:
13693  tmp2_default: OMC_LABEL_UNUSED; {
13694 
13695  /* Pattern matching succeeded */
13696 #line 3255 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13697  _msg = omc_ExpressionDump_printExpStr(threadData, _inExp);
13698 #line 13698 OMC_FILE
13699 
13700 #line 3256 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13701  _info = omc_ElementSource_getElementSourceFileInfo(threadData, _source);
13702 #line 13702 OMC_FILE
13703 
13704 #line 3257 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13705  tmpMeta[1] = mmc_mk_cons(_msg, MMC_REFSTRUCTLIT(mmc_nil));
13706 #line 3257 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13707  omc_Error_addSourceMessage(threadData, _OMC_LIT94, tmpMeta[1], _info);
13708 #line 13708 OMC_FILE
13709 #line 3258 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13710  goto goto_1;
13711 #line 13711 OMC_FILE
13712  goto tmp2_done;
13713  }
13714  }
13715  goto tmp2_end;
13716  tmp2_end: ;
13717  }
13718  goto goto_1;
13719  goto_1:;
13720  MMC_THROW_INTERNAL();
13721  goto tmp2_done;
13722  tmp2_done:;
13723  }
13724  }
13725  _outCrefs = tmpMeta[0];
13726  _return: OMC_LABEL_UNUSED
13727  return _outCrefs;
13728 }
DLLExport modelica_metatype omc_ElementSource_getElementSourceFileInfo(threadData_t *threadData, modelica_metatype _source)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_collectWhenCrefs(threadData_t *threadData, modelica_metatype _inExps, modelica_metatype _source, modelica_metatype _inCrefs)
Definition: DAEUtil.c:13730
modelica_metatype modelica_string
DLLExport void omc_Error_addSourceMessage(threadData_t *threadData, modelica_metatype _inErrorMsg, modelica_metatype _inMessageTokens, modelica_metatype _inInfo)
Definition: Error.c:990
void * modelica_metatype
DLLExport modelica_string omc_ExpressionDump_printExpStr(threadData_t *threadData, modelica_metatype _e)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_collectWhenEquationBranches()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_collectWhenEquationBranches ( threadData_t threadData,
modelica_metatype  _inElseWhen,
modelica_metatype  _inWhenBranches 
)

Definition at line 14200 of file DAEUtil.c.

14201 {
14202  modelica_metatype _outWhenBranches = NULL;
14203  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
14204  MMC_SO();
14205  _tailrecursive: OMC_LABEL_UNUSED
14206 #line 14206 OMC_FILE
14207  { /* match expression */
14208  modelica_metatype tmp3_1;
14209  tmp3_1 = _inElseWhen;
14210  {
14211  modelica_metatype _cond = NULL;
14212  modelica_metatype _eqs = NULL;
14213  modelica_metatype _ew = NULL;
14214  modelica_metatype _info = NULL;
14215  modelica_string _msg = NULL;
14216  modelica_metatype _el = NULL;
14217  volatile mmc_switch_type tmp3;
14218  int tmp4;
14219  tmp3 = 0;
14220  for (; tmp3 < 3; tmp3++) {
14221  switch (MMC_SWITCH_CAST(tmp3)) {
14222  case 0: {
14223  if (!optionNone(tmp3_1)) goto tmp2_end;
14224  /* Pattern matching succeeded */
14225 #line 3110 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14226  tmpMeta[0] = _inWhenBranches;
14227 #line 14227 OMC_FILE
14228  goto tmp2_done;
14229  }
14230  case 1: {
14231  if (optionNone(tmp3_1)) goto tmp2_end;
14232  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
14233  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],10,4) == 0) goto tmp2_end;
14234  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
14235  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
14236  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
14237 
14238  _cond = tmpMeta[2];
14239  _eqs = tmpMeta[3];
14240  _ew = tmpMeta[4];
14241  /* Pattern matching succeeded */
14242 #line 3112 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14243  tmpMeta[2] = mmc_mk_box2(0, _cond, _eqs);
14244 #line 3112 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14245  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _inWhenBranches);
14246 #line 3112 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14247  /* Tail recursive call */
14248 #line 3112 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14249  _inElseWhen = _ew;
14250 #line 3112 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14251  _inWhenBranches = tmpMeta[1];
14252 #line 3112 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14253  goto _tailrecursive;
14254 #line 3112 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14255  /* TODO: Make sure any eventual dead code below is never generated */
14256 #line 14256 OMC_FILE
14257  goto tmp2_done;
14258  }
14259  case 2: {
14260  if (optionNone(tmp3_1)) goto tmp2_end;
14261  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
14262  _el = tmpMeta[1];
14263  /* Pattern matching succeeded */
14264 #line 3115 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14265  tmpMeta[1] = mmc_mk_cons(_el, MMC_REFSTRUCTLIT(mmc_nil));
14266 #line 3115 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14267  tmpMeta[2] = stringAppend(_OMC_LIT106,omc_DAEDump_dumpElementsStr(threadData, tmpMeta[1]));
14268 #line 3115 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14269  _msg = tmpMeta[2];
14270 #line 14270 OMC_FILE
14271 
14272 #line 3116 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14274 #line 14274 OMC_FILE
14275 
14276 #line 3117 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14277  tmpMeta[1] = mmc_mk_cons(_msg, MMC_REFSTRUCTLIT(mmc_nil));
14278 #line 3117 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14279  omc_Error_addSourceMessage(threadData, _OMC_LIT72, tmpMeta[1], _info);
14280 #line 14280 OMC_FILE
14281 #line 3118 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14282  goto goto_1;
14283 #line 14283 OMC_FILE
14284  goto tmp2_done;
14285  }
14286  }
14287  goto tmp2_end;
14288  tmp2_end: ;
14289  }
14290  goto goto_1;
14291  goto_1:;
14292  MMC_THROW_INTERNAL();
14293  goto tmp2_done;
14294  tmp2_done:;
14295  }
14296  }
14297  _outWhenBranches = tmpMeta[0];
14298  _return: OMC_LABEL_UNUSED
14299  return _outWhenBranches;
14300 }
DLLExport modelica_metatype omc_ElementSource_getElementSourceFileInfo(threadData_t *threadData, modelica_metatype _source)
modelica_metatype modelica_string
float mmc_switch_type
DLLExport void omc_Error_addSourceMessage(threadData_t *threadData, modelica_metatype _inErrorMsg, modelica_metatype _inMessageTokens, modelica_metatype _inInfo)
Definition: Error.c:990
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport modelica_metatype omc_ElementSource_getElementSource(threadData_t *threadData, modelica_metatype _element)
void * modelica_metatype
DLLExport modelica_string omc_DAEDump_dumpElementsStr(threadData_t *threadData, modelica_metatype _els)
Definition: DAEDump.c:6161
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_compareCrefList()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_compareCrefList ( threadData_t threadData,
modelica_metatype  _inCrefs,
modelica_boolean out_matching 
)

Definition at line 13500 of file DAEUtil.c.

13501 {
13502  modelica_metatype _outrefs = NULL;
13503  modelica_boolean _matching;
13504  modelica_boolean tmp1_c1 __attribute__((unused)) = 0;
13505  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
13506  MMC_SO();
13507  _tailrecursive: OMC_LABEL_UNUSED
13508 #line 3266 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13509 
13510 #line 3266 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13511 
13512 #line 13512 OMC_FILE
13513  { /* match expression */
13514  modelica_metatype tmp4_1;
13515  tmp4_1 = _inCrefs;
13516  {
13517  modelica_metatype _crefs = NULL;
13518  modelica_metatype _recRefs = NULL;
13519  modelica_integer _i;
13520  modelica_boolean _b1;
13521  modelica_boolean _b2;
13522  modelica_boolean _b3;
13523  modelica_metatype _llrefs = NULL;
13524  volatile mmc_switch_type tmp4;
13525  int tmp5;
13526  tmp4 = 0;
13527  for (; tmp4 < 3; tmp4++) {
13528  switch (MMC_SWITCH_CAST(tmp4)) {
13529  case 0: {
13530  if (!listEmpty(tmp4_1)) goto tmp3_end;
13531  /* Pattern matching succeeded */
13532 #line 3274 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13533  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
13534 #line 3274 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13535  tmpMeta[0+0] = tmpMeta[2];
13536 #line 3274 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13537  tmp1_c1 = 1;
13538 #line 13538 OMC_FILE
13539  goto tmp3_done;
13540  }
13541  case 1: {
13542  if (listEmpty(tmp4_1)) goto tmp3_end;
13543  tmpMeta[2] = MMC_CAR(tmp4_1);
13544  tmpMeta[3] = MMC_CDR(tmp4_1);
13545  if (!listEmpty(tmpMeta[3])) goto tmp3_end;
13546  _crefs = tmpMeta[2];
13547  /* Pattern matching succeeded */
13548 #line 3276 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13549  tmpMeta[0+0] = _crefs;
13550 #line 3276 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13551  tmp1_c1 = 1;
13552 #line 13552 OMC_FILE
13553  goto tmp3_done;
13554  }
13555  case 2: {
13556  modelica_boolean tmp6;
13557  modelica_boolean tmp7;
13558  if (listEmpty(tmp4_1)) goto tmp3_end;
13559  tmpMeta[2] = MMC_CAR(tmp4_1);
13560  tmpMeta[3] = MMC_CDR(tmp4_1);
13561  _crefs = tmpMeta[2];
13562  _llrefs = tmpMeta[3];
13563  /* Pattern matching succeeded */
13564 #line 3280 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13565  _recRefs = omc_DAEUtil_compareCrefList(threadData, _llrefs ,&_b3);
13566 #line 13566 OMC_FILE
13567 
13568 #line 3281 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13569  _i = listLength(_recRefs);
13570 #line 13570 OMC_FILE
13571 
13572 #line 3283 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13573  if(((modelica_integer)_i > ((modelica_integer) 0)))
13574 #line 3283 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13575  {
13576 #line 3286 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13577  _b1 = (((modelica_integer) 0) == modelica_integer_mod(listLength(_crefs), (modelica_integer)_i));
13578 #line 13578 OMC_FILE
13579 
13580 #line 3287 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13581  tmpMeta[2] = mmc_mk_cons(_recRefs, mmc_mk_cons(_crefs, MMC_REFSTRUCTLIT(mmc_nil)));
13582 #line 3287 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13583  _crefs = omc_List_unionOnTrueList(threadData, tmpMeta[2], boxvar_ComponentReference_crefEqual);
13584 #line 13584 OMC_FILE
13585 
13586 #line 3288 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13587  _b2 = (listLength(_crefs) == (modelica_integer)_i);
13588 #line 13588 OMC_FILE
13589 
13590 #line 3289 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13591  _b1 = (_b1 && (_b2 && _b3));
13592 #line 13592 OMC_FILE
13593  }
13594  else
13595  {
13596 #line 3294 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13597  /* Pattern-matching assignment */
13598 #line 3294 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13599  tmp6 = ((modelica_integer)_i == ((modelica_integer) 0));
13600 #line 3294 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13601  if (1 != tmp6) goto goto_2;
13602 #line 13602 OMC_FILE
13603 
13604 #line 3295 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13605  /* Pattern-matching assignment */
13606 #line 3295 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13607  tmp7 = (listLength(_crefs) == ((modelica_integer) 0));
13608 #line 3295 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13609  if (1 != tmp7) goto goto_2;
13610 #line 13610 OMC_FILE
13611 
13612 #line 3296 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13613  _b1 = 1;
13614 #line 13614 OMC_FILE
13615  }
13616 #line 3298 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13617  tmpMeta[0+0] = _crefs;
13618 #line 3298 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13619  tmp1_c1 = _b1;
13620 #line 13620 OMC_FILE
13621  goto tmp3_done;
13622  }
13623  }
13624  goto tmp3_end;
13625  tmp3_end: ;
13626  }
13627  goto goto_2;
13628  goto_2:;
13629  MMC_THROW_INTERNAL();
13630  goto tmp3_done;
13631  tmp3_done:;
13632  }
13633  }
13634  _outrefs = tmpMeta[0+0];
13635  _matching = tmp1_c1;
13636  _return: OMC_LABEL_UNUSED
13637  if (out_matching) { *out_matching = _matching; }
13638  return _outrefs;
13639 }
DLLExport modelica_metatype omc_List_unionOnTrueList(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inCompFunc)
Definition: List.c:13529
m_integer modelica_integer
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
modelica_integer listLength(modelica_metatype)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_compareCrefList(threadData_t *threadData, modelica_metatype _inCrefs, modelica_boolean *out_matching)
Definition: DAEUtil.c:13500
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_compareUniquedVarWithNonUnique()

PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_compareUniquedVarWithNonUnique ( threadData_t threadData,
modelica_metatype  _cr1,
modelica_metatype  _cr2 
)

Definition at line 24176 of file DAEUtil.c.

24177 {
24178  modelica_boolean _equal;
24179  modelica_string _s1 = NULL;
24180  modelica_string _s2 = NULL;
24181  modelica_string _s3 = NULL;
24182  MMC_SO();
24183  _tailrecursive: OMC_LABEL_UNUSED
24184 #line 701 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24185  _s1 = omc_ComponentReference_printComponentRefStr(threadData, _cr1);
24186 #line 24186 OMC_FILE
24187 
24188 #line 702 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24189  _s2 = omc_ComponentReference_printComponentRefStr(threadData, _cr2);
24190 #line 24190 OMC_FILE
24191 
24192 #line 703 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24193  _s1 = omc_System_stringReplace(threadData, _s1, _OMC_LIT88, _OMC_LIT7);
24194 #line 24194 OMC_FILE
24195 
24196 #line 704 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24197  _s2 = omc_System_stringReplace(threadData, _s2, _OMC_LIT88, _OMC_LIT7);
24198 #line 24198 OMC_FILE
24199 
24200 #line 705 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24201  _equal = (stringEqual(_s1, _s2));
24202 #line 24202 OMC_FILE
24203  _return: OMC_LABEL_UNUSED
24204  return _equal;
24205 }
modelica_metatype modelica_string
signed char modelica_boolean
DLLExport modelica_string omc_ComponentReference_printComponentRefStr(threadData_t *threadData, modelica_metatype _inComponentRef)
modelica_string omc_System_stringReplace(threadData_t *threadData, modelica_string _str, modelica_string _source, modelica_string _target)
Definition: System.c:4471
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_connectorTypeEqual()

DLLExport modelica_boolean omc_DAEUtil_connectorTypeEqual ( threadData_t threadData,
modelica_metatype  _inConnectorType1,
modelica_metatype  _inConnectorType2 
)

Definition at line 1199 of file DAEUtil.c.

1200 {
1201  modelica_boolean _outEqual;
1202  modelica_boolean tmp1 = 0;
1203  MMC_SO();
1204  _tailrecursive: OMC_LABEL_UNUSED
1205 #line 1205 OMC_FILE
1206  { /* match expression */
1207  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
1208  tmp4_1 = _inConnectorType1;
1209  tmp4_2 = _inConnectorType2;
1210  {
1211  int tmp4;
1212  {
1213  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
1214  case 3: {
1215  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0) == 0) goto tmp3_end;
1216  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
1217  /* Pattern matching succeeded */
1218 #line 6469 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1219  tmp1 = 1;
1220 #line 1220 OMC_FILE
1221  goto tmp3_done;
1222  }
1223  case 4: {
1224  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,0) == 0) goto tmp3_end;
1225  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
1226  /* Pattern matching succeeded */
1227 #line 6470 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1228  tmp1 = 1;
1229 #line 1229 OMC_FILE
1230  goto tmp3_done;
1231  }
1232  case 5: {
1233  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,1) == 0) goto tmp3_end;
1234  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
1235 
1236  /* Pattern matching succeeded */
1237 #line 6471 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1238  tmp1 = 1;
1239 #line 1239 OMC_FILE
1240  goto tmp3_done;
1241  }
1242  case 6: {
1243  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,3,0) == 0) goto tmp3_end;
1244  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,0) == 0) goto tmp3_end;
1245  /* Pattern matching succeeded */
1246 #line 6472 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1247  tmp1 = 1;
1248 #line 1248 OMC_FILE
1249  goto tmp3_done;
1250  }
1251  }
1252  goto tmp3_end;
1253  tmp3_end: ;
1254  }
1255  goto goto_2;
1256  goto_2:;
1257  MMC_THROW_INTERNAL();
1258  goto tmp3_done;
1259  tmp3_done:;
1260  }
1261  }
1262  _outEqual = tmp1;
1263  _return: OMC_LABEL_UNUSED
1264  return _outEqual;
1265 }
signed char modelica_boolean
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_connectorTypeStr()

DLLExport modelica_string omc_DAEUtil_connectorTypeStr ( threadData_t threadData,
modelica_metatype  _connectorType 
)

Definition at line 1391 of file DAEUtil.c.

1392 {
1393  modelica_string _string = NULL;
1394  modelica_string tmp1 = 0;
1395  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
1396  MMC_SO();
1397  _tailrecursive: OMC_LABEL_UNUSED
1398 #line 1398 OMC_FILE
1399  { /* match expression */
1400  modelica_metatype tmp4_1;
1401  tmp4_1 = _connectorType;
1402  {
1403  modelica_metatype _cref = NULL;
1404  modelica_string _cref_str = NULL;
1405  volatile mmc_switch_type tmp4;
1406  int tmp5;
1407  tmp4 = 0;
1408  for (; tmp4 < 5; tmp4++) {
1409  switch (MMC_SWITCH_CAST(tmp4)) {
1410  case 0: {
1411  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0) == 0) goto tmp3_end;
1412  /* Pattern matching succeeded */
1413 #line 6431 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1414  tmp1 = _OMC_LIT7;
1415 #line 1415 OMC_FILE
1416  goto tmp3_done;
1417  }
1418  case 1: {
1419  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,0) == 0) goto tmp3_end;
1420  /* Pattern matching succeeded */
1421 #line 6432 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1422  tmp1 = _OMC_LIT8;
1423 #line 1423 OMC_FILE
1424  goto tmp3_done;
1425  }
1426  case 2: {
1427  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,1) == 0) goto tmp3_end;
1428  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
1429  if (!optionNone(tmpMeta[0])) goto tmp3_end;
1430  /* Pattern matching succeeded */
1431 #line 6433 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1432  tmp1 = _OMC_LIT9;
1433 #line 1433 OMC_FILE
1434  goto tmp3_done;
1435  }
1436  case 3: {
1437  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,1) == 0) goto tmp3_end;
1438  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
1439  if (optionNone(tmpMeta[0])) goto tmp3_end;
1440  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1));
1441  _cref = tmpMeta[1];
1442  /* Pattern matching succeeded */
1443 #line 6436 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1444  _cref_str = omc_ComponentReference_printComponentRefStr(threadData, _cref);
1445 #line 1445 OMC_FILE
1446 #line 6437 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1447  tmpMeta[0] = stringAppend(_OMC_LIT10,_cref_str);
1448 #line 6437 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1449  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT11);
1450 #line 6437 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1451  tmp1 = tmpMeta[1];
1452 #line 1452 OMC_FILE
1453  goto tmp3_done;
1454  }
1455  case 4: {
1456 
1457  /* Pattern matching succeeded */
1458 #line 6439 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1459  tmp1 = _OMC_LIT12;
1460 #line 1460 OMC_FILE
1461  goto tmp3_done;
1462  }
1463  }
1464  goto tmp3_end;
1465  tmp3_end: ;
1466  }
1467  goto goto_2;
1468  goto_2:;
1469  MMC_THROW_INTERNAL();
1470  goto tmp3_done;
1471  tmp3_done:;
1472  }
1473  }
1474  _string = tmp1;
1475  _return: OMC_LABEL_UNUSED
1476  return _string;
1477 }
modelica_metatype modelica_string
float mmc_switch_type
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport modelica_string omc_ComponentReference_printComponentRefStr(threadData_t *threadData, modelica_metatype _inComponentRef)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_const2VarKind()

DLLExport modelica_metatype omc_DAEUtil_const2VarKind ( threadData_t threadData,
modelica_metatype  _const 
)

Definition at line 26426 of file DAEUtil.c.

26427 {
26428  modelica_metatype _kind = NULL;
26429  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
26430  MMC_SO();
26431  _tailrecursive: OMC_LABEL_UNUSED
26432 #line 26432 OMC_FILE
26433  { /* match expression */
26434  modelica_metatype tmp3_1;
26435  tmp3_1 = _const;
26436  {
26437  int tmp3;
26438  {
26439  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
26440  case 5: {
26441 
26442  /* Pattern matching succeeded */
26443 #line 104 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26444  tmpMeta[0] = _OMC_LIT169;
26445 #line 26445 OMC_FILE
26446  goto tmp2_done;
26447  }
26448  case 4: {
26449 
26450  /* Pattern matching succeeded */
26451 #line 105 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26452  tmpMeta[0] = _OMC_LIT90;
26453 #line 26453 OMC_FILE
26454  goto tmp2_done;
26455  }
26456  case 3: {
26457 
26458  /* Pattern matching succeeded */
26459 #line 106 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26460  tmpMeta[0] = _OMC_LIT170;
26461 #line 26461 OMC_FILE
26462  goto tmp2_done;
26463  }
26464  }
26465  goto tmp2_end;
26466  tmp2_end: ;
26467  }
26468  goto goto_1;
26469  goto_1:;
26470  MMC_THROW_INTERNAL();
26471  goto tmp2_done;
26472  tmp2_done:;
26473  }
26474  }
26475  _kind = tmpMeta[0];
26476  _return: OMC_LABEL_UNUSED
26477  return _kind;
26478 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_constStr()

DLLExport modelica_string omc_DAEUtil_constStr ( threadData_t threadData,
modelica_metatype  _const 
)

Definition at line 26536 of file DAEUtil.c.

26537 {
26538  modelica_string _str = NULL;
26539  modelica_string tmp1 = 0;
26540  MMC_SO();
26541  _tailrecursive: OMC_LABEL_UNUSED
26542 #line 26542 OMC_FILE
26543  { /* match expression */
26544  modelica_metatype tmp4_1;
26545  tmp4_1 = _const;
26546  {
26547  int tmp4;
26548  {
26549  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
26550  case 5: {
26551 
26552  /* Pattern matching succeeded */
26553 #line 80 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26554  tmp1 = _OMC_LIT173;
26555 #line 26555 OMC_FILE
26556  goto tmp3_done;
26557  }
26558  case 4: {
26559 
26560  /* Pattern matching succeeded */
26561 #line 81 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26562  tmp1 = _OMC_LIT174;
26563 #line 26563 OMC_FILE
26564  goto tmp3_done;
26565  }
26566  case 3: {
26567 
26568  /* Pattern matching succeeded */
26569 #line 82 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26570  tmp1 = _OMC_LIT175;
26571 #line 26571 OMC_FILE
26572  goto tmp3_done;
26573  }
26574  }
26575  goto tmp3_end;
26576  tmp3_end: ;
26577  }
26578  goto goto_2;
26579  goto_2:;
26580  MMC_THROW_INTERNAL();
26581  goto tmp3_done;
26582  tmp3_done:;
26583  }
26584  }
26585  _str = tmp1;
26586  _return: OMC_LABEL_UNUSED
26587  return _str;
26588 }
modelica_metatype modelica_string
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_constStrFriendly()

DLLExport modelica_string omc_DAEUtil_constStrFriendly ( threadData_t threadData,
modelica_metatype  _const 
)

Definition at line 26481 of file DAEUtil.c.

26482 {
26483  modelica_string _str = NULL;
26484  modelica_string tmp1 = 0;
26485  MMC_SO();
26486  _tailrecursive: OMC_LABEL_UNUSED
26487 #line 26487 OMC_FILE
26488  { /* match expression */
26489  modelica_metatype tmp4_1;
26490  tmp4_1 = _const;
26491  {
26492  int tmp4;
26493  {
26494  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
26495  case 5: {
26496 
26497  /* Pattern matching succeeded */
26498 #line 92 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26499  tmp1 = _OMC_LIT7;
26500 #line 26500 OMC_FILE
26501  goto tmp3_done;
26502  }
26503  case 4: {
26504 
26505  /* Pattern matching succeeded */
26506 #line 93 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26507  tmp1 = _OMC_LIT171;
26508 #line 26508 OMC_FILE
26509  goto tmp3_done;
26510  }
26511  case 3: {
26512 
26513  /* Pattern matching succeeded */
26514 #line 94 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26515  tmp1 = _OMC_LIT172;
26516 #line 26516 OMC_FILE
26517  goto tmp3_done;
26518  }
26519  }
26520  goto tmp3_end;
26521  tmp3_end: ;
26522  }
26523  goto goto_2;
26524  goto_2:;
26525  MMC_THROW_INTERNAL();
26526  goto tmp3_done;
26527  tmp3_done:;
26528  }
26529  }
26530  _str = tmp1;
26531  _return: OMC_LABEL_UNUSED
26532  return _str;
26533 }
modelica_metatype modelica_string
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_convertInlineTypeToBool()

DLLExport modelica_boolean omc_DAEUtil_convertInlineTypeToBool ( threadData_t threadData,
modelica_metatype  _it 
)

Definition at line 5962 of file DAEUtil.c.

5963 {
5964  modelica_boolean _b;
5965  modelica_boolean tmp1 = 0;
5966  MMC_SO();
5967  _tailrecursive: OMC_LABEL_UNUSED
5968 #line 5968 OMC_FILE
5969  { /* match expression */
5970  modelica_metatype tmp4_1;
5971  tmp4_1 = _it;
5972  {
5973  volatile mmc_switch_type tmp4;
5974  int tmp5;
5975  tmp4 = 0;
5976  for (; tmp4 < 2; tmp4++) {
5977  switch (MMC_SWITCH_CAST(tmp4)) {
5978  case 0: {
5979  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,4,0) == 0) goto tmp3_end;
5980  /* Pattern matching succeeded */
5981 #line 5077 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5982  tmp1 = 0;
5983 #line 5983 OMC_FILE
5984  goto tmp3_done;
5985  }
5986  case 1: {
5987 
5988  /* Pattern matching succeeded */
5989 #line 5078 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5990  tmp1 = 1;
5991 #line 5991 OMC_FILE
5992  goto tmp3_done;
5993  }
5994  }
5995  goto tmp3_end;
5996  tmp3_end: ;
5997  }
5998  goto goto_2;
5999  goto_2:;
6000  MMC_THROW_INTERNAL();
6001  goto tmp3_done;
6002  tmp3_done:;
6003  }
6004  }
6005  _b = tmp1;
6006  _return: OMC_LABEL_UNUSED
6007  return _b;
6008 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_crefToExp()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_crefToExp ( threadData_t threadData,
modelica_metatype  _inComponentRef 
)

Definition at line 14640 of file DAEUtil.c.

14641 {
14642  modelica_metatype _outExp = NULL;
14643  MMC_SO();
14644  _tailrecursive: OMC_LABEL_UNUSED
14645 #line 2966 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14646  _outExp = omc_Expression_makeCrefExp(threadData, _inComponentRef, _OMC_LIT24);
14647 #line 14647 OMC_FILE
14648  _return: OMC_LABEL_UNUSED
14649  return _outExp;
14650 }
DLLExport modelica_metatype omc_Expression_makeCrefExp(threadData_t *threadData, modelica_metatype _inCref, modelica_metatype _inExpType)
Definition: Expression.c:41428
void * modelica_metatype
Here is the call graph for this function:

◆ omc_DAEUtil_daeDescription()

DLLExport modelica_string omc_DAEUtil_daeDescription ( threadData_t threadData,
modelica_metatype  _inDAE 
)

Definition at line 2714 of file DAEUtil.c.

2715 {
2716  modelica_string _comment = NULL;
2717  modelica_string tmp1 = 0;
2718  modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
2719  MMC_SO();
2720  _tailrecursive: OMC_LABEL_UNUSED
2721 #line 2721 OMC_FILE
2722  { /* match expression */
2723  modelica_metatype tmp4_1;
2724  tmp4_1 = _inDAE;
2725  {
2726  volatile mmc_switch_type tmp4;
2727  int tmp5;
2728  tmp4 = 0;
2729  for (; tmp4 < 2; tmp4++) {
2730  switch (MMC_SWITCH_CAST(tmp4)) {
2731  case 0: {
2732  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
2733  if (listEmpty(tmpMeta[0])) goto tmp3_end;
2734  tmpMeta[1] = MMC_CAR(tmpMeta[0]);
2735  tmpMeta[2] = MMC_CDR(tmpMeta[0]);
2736  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],17,4) == 0) goto tmp3_end;
2737  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
2738  if (optionNone(tmpMeta[3])) goto tmp3_end;
2739  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 1));
2740  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3));
2741  if (optionNone(tmpMeta[5])) goto tmp3_end;
2742  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 1));
2743  _comment = tmpMeta[6];
2744  /* Pattern matching succeeded */
2745 #line 6070 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2746  tmp1 = _comment;
2747 #line 2747 OMC_FILE
2748  goto tmp3_done;
2749  }
2750  case 1: {
2751 
2752  /* Pattern matching succeeded */
2753 #line 6071 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2754  tmp1 = _OMC_LIT7;
2755 #line 2755 OMC_FILE
2756  goto tmp3_done;
2757  }
2758  }
2759  goto tmp3_end;
2760  tmp3_end: ;
2761  }
2762  goto goto_2;
2763  goto_2:;
2764  MMC_THROW_INTERNAL();
2765  goto tmp3_done;
2766  tmp3_done:;
2767  }
2768  }
2769  _comment = tmp1;
2770  _return: OMC_LABEL_UNUSED
2771  return _comment;
2772 }
modelica_metatype modelica_string
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_daeElements()

DLLExport modelica_metatype omc_DAEUtil_daeElements ( threadData_t threadData,
modelica_metatype  _dae 
)

Definition at line 5920 of file DAEUtil.c.

5921 {
5922  modelica_metatype _elts = NULL;
5923  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
5924  MMC_SO();
5925  _tailrecursive: OMC_LABEL_UNUSED
5926 #line 5926 OMC_FILE
5927  { /* match expression */
5928  modelica_metatype tmp3_1;
5929  tmp3_1 = _dae;
5930  {
5931  volatile mmc_switch_type tmp3;
5932  int tmp4;
5933  tmp3 = 0;
5934  for (; tmp3 < 1; tmp3++) {
5935  switch (MMC_SWITCH_CAST(tmp3)) {
5936  case 0: {
5937  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
5938  _elts = tmpMeta[1];
5939  /* Pattern matching succeeded */
5940 #line 5087 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5941  tmpMeta[0] = _elts;
5942 #line 5942 OMC_FILE
5943  goto tmp2_done;
5944  }
5945  }
5946  goto tmp2_end;
5947  tmp2_end: ;
5948  }
5949  goto goto_1;
5950  goto_1:;
5951  MMC_THROW_INTERNAL();
5952  goto tmp2_done;
5953  tmp2_done:;
5954  }
5955  }
5956  _elts = tmpMeta[0];
5957  _return: OMC_LABEL_UNUSED
5958  return _elts;
5959 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_daeParallelismEqual()

DLLExport modelica_boolean omc_DAEUtil_daeParallelismEqual ( threadData_t threadData,
modelica_metatype  _inParallelism1,
modelica_metatype  _inParallelism2 
)

Definition at line 17669 of file DAEUtil.c.

17670 {
17671  modelica_boolean _equal;
17672  modelica_boolean tmp1 = 0;
17673  MMC_SO();
17674  _tailrecursive: OMC_LABEL_UNUSED
17675 #line 17675 OMC_FILE
17676  { /* match expression */
17677  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
17678  tmp4_1 = _inParallelism1;
17679  tmp4_2 = _inParallelism2;
17680  {
17681  volatile mmc_switch_type tmp4;
17682  int tmp5;
17683  tmp4 = 0;
17684  for (; tmp4 < 4; tmp4++) {
17685  switch (MMC_SWITCH_CAST(tmp4)) {
17686  case 0: {
17687  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,0) == 0) goto tmp3_end;
17688  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,0) == 0) goto tmp3_end;
17689  /* Pattern matching succeeded */
17690 #line 2124 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17691  tmp1 = 1;
17692 #line 17692 OMC_FILE
17693  goto tmp3_done;
17694  }
17695  case 1: {
17696  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0) == 0) goto tmp3_end;
17697  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
17698  /* Pattern matching succeeded */
17699 #line 2125 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17700  tmp1 = 1;
17701 #line 17701 OMC_FILE
17702  goto tmp3_done;
17703  }
17704  case 2: {
17705  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,0) == 0) goto tmp3_end;
17706  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
17707  /* Pattern matching succeeded */
17708 #line 2126 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17709  tmp1 = 1;
17710 #line 17710 OMC_FILE
17711  goto tmp3_done;
17712  }
17713  case 3: {
17714 
17715  /* Pattern matching succeeded */
17716 #line 2127 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17717  tmp1 = 0;
17718 #line 17718 OMC_FILE
17719  goto tmp3_done;
17720  }
17721  }
17722  goto tmp3_end;
17723  tmp3_end: ;
17724  }
17725  goto goto_2;
17726  goto_2:;
17727  MMC_THROW_INTERNAL();
17728  goto tmp3_done;
17729  tmp3_done:;
17730  }
17731  }
17732  _equal = tmp1;
17733  _return: OMC_LABEL_UNUSED
17734  return _equal;
17735 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_daeToRecordValue()

DLLExport modelica_metatype omc_DAEUtil_daeToRecordValue ( threadData_t threadData,
modelica_metatype  _inCache,
modelica_metatype  _inEnv,
modelica_metatype  _inPath,
modelica_metatype  _inElementLst,
modelica_boolean  _inBoolean,
modelica_metatype out_outValue 
)

Definition at line 17069 of file DAEUtil.c.

17070 {
17071  modelica_metatype _outCache = NULL;
17072  modelica_metatype _outValue = NULL;
17073  modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
17074  MMC_SO();
17075  _tailrecursive: OMC_LABEL_UNUSED
17076 #line 2254 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17077 
17078 #line 2254 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17079 
17080 #line 17080 OMC_FILE
17081  { /* matchcontinue expression */
17082  volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;volatile modelica_metatype tmp4_3;volatile modelica_metatype tmp4_4;volatile modelica_boolean tmp4_5;
17083  tmp4_1 = _inCache;
17084  tmp4_2 = _inEnv;
17085  tmp4_3 = _inPath;
17086  tmp4_4 = _inElementLst;
17087  tmp4_5 = _inBoolean;
17088  {
17089  modelica_metatype _cname = NULL;
17090  modelica_metatype _value = NULL;
17091  modelica_metatype _vals = NULL;
17092  modelica_metatype _names = NULL;
17093  modelica_string _cr_str = NULL;
17094  modelica_string _str = NULL;
17095  modelica_metatype _cr = NULL;
17096  modelica_metatype _rhs = NULL;
17097  modelica_metatype _rest = NULL;
17098  modelica_boolean _impl;
17099  modelica_integer _ix;
17100  modelica_metatype _el = NULL;
17101  modelica_metatype _cache = NULL;
17102  modelica_metatype _env = NULL;
17103  modelica_metatype _source = NULL;
17104  modelica_metatype _info = NULL;
17105  volatile mmc_switch_type tmp4;
17106  int tmp5;
17107  tmp4 = 0;
17108  MMC_TRY_INTERNAL(mmc_jumper)
17109  tmp3_top:
17110  threadData->mmc_jumper = &new_mmc_jumper;
17111  for (; tmp4 < 3; tmp4++) {
17112  switch (MMC_SWITCH_CAST(tmp4)) {
17113  case 0: {
17114  if (!listEmpty(tmp4_4)) goto tmp3_end;
17115 
17116  _cache = tmp4_1;
17117  _cname = tmp4_3;
17118  tmp4 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
17119 #line 2272 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17120  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
17121 #line 2272 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17122  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
17123 #line 2272 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17124  tmpMeta[4] = mmc_mk_box5(13, &Values_Value_RECORD__desc, _cname, tmpMeta[2], tmpMeta[3], mmc_mk_integer(((modelica_integer) -1)));
17125 #line 2272 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17126  tmpMeta[0+0] = _cache;
17127 #line 2272 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17128  tmpMeta[0+1] = tmpMeta[4];
17129 #line 17129 OMC_FILE
17130  goto tmp3_done;
17131  }
17132  case 1: {
17133  modelica_integer tmp6;
17134  if (listEmpty(tmp4_4)) goto tmp3_end;
17135  tmpMeta[2] = MMC_CAR(tmp4_4);
17136  tmpMeta[3] = MMC_CDR(tmp4_4);
17137  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,13) == 0) goto tmp3_end;
17138  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
17139  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 8));
17140  if (optionNone(tmpMeta[5])) goto tmp3_end;
17141  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 1));
17142  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 11));
17143 
17144  _cr = tmpMeta[4];
17145  _rhs = tmpMeta[6];
17146  _source = tmpMeta[7];
17147  _rest = tmpMeta[3];
17148  _cache = tmp4_1;
17149  _env = tmp4_2;
17150  _cname = tmp4_3;
17151  _impl = tmp4_5;
17152  /* Pattern matching succeeded */
17153 #line 2277 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17154  _info = omc_ElementSource_getElementSourceFileInfo(threadData, _source);
17155 #line 17155 OMC_FILE
17156 
17157 #line 2278 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17158  tmpMeta[2] = mmc_mk_box2(3, &Absyn_Msg_MSG__desc, _info);
17159 #line 2278 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17160  _cache = omc_Ceval_ceval(threadData, _cache, _env, _rhs, _impl, tmpMeta[2], ((modelica_integer) 0) ,&_value);
17161 #line 17161 OMC_FILE
17162 
17163 #line 2279 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17164  /* Pattern-matching tuple assignment */
17165 #line 2279 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17166  tmpMeta[7] = omc_DAEUtil_daeToRecordValue(threadData, _cache, _env, _cname, _rest, _impl, &tmpMeta[2]);
17167 #line 2279 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17168  _cache = tmpMeta[7];
17169 #line 2279 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17170  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],10,4) == 0) goto goto_2;
17171 #line 2279 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17172  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
17173 #line 2279 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17174  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
17175 #line 2279 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17176  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
17177 #line 2279 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17178  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
17179 #line 2279 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17180  tmp6 = mmc_unbox_integer(tmpMeta[6]);
17181 #line 2279 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17182  _cname = tmpMeta[3];
17183 #line 2279 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17184  _vals = tmpMeta[4];
17185 #line 2279 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17186  _names = tmpMeta[5];
17187 #line 2279 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17188  _ix = tmp6 /* pattern as ty=Integer */;
17189 #line 17189 OMC_FILE
17190 
17191 #line 2280 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17192  _cr_str = omc_ComponentReference_printComponentRefStr(threadData, _cr);
17193 #line 17193 OMC_FILE
17194 #line 2281 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17195  tmpMeta[2] = mmc_mk_cons(_value, _vals);
17196 #line 2281 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17197  tmpMeta[3] = mmc_mk_cons(_cr_str, _names);
17198 #line 2281 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17199  tmpMeta[4] = mmc_mk_box5(13, &Values_Value_RECORD__desc, _cname, tmpMeta[2], tmpMeta[3], mmc_mk_integer((modelica_integer)_ix));
17200 #line 2281 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17201  tmpMeta[0+0] = _cache;
17202 #line 2281 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17203  tmpMeta[0+1] = tmpMeta[4];
17204 #line 17204 OMC_FILE
17205  goto tmp3_done;
17206  }
17207  case 2: {
17208  modelica_boolean tmp7;
17209  if (listEmpty(tmp4_4)) goto tmp3_end;
17210  tmpMeta[2] = MMC_CAR(tmp4_4);
17211  tmpMeta[3] = MMC_CDR(tmp4_4);
17212 
17213  _el = tmpMeta[2];
17214  /* Pattern matching succeeded */
17215 #line 2285 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17216  /* Pattern-matching assignment */
17217 #line 2285 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17218  tmp7 = omc_Flags_isSet(threadData, _OMC_LIT81);
17219 #line 2285 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17220  if (1 != tmp7) goto goto_2;
17221 #line 17221 OMC_FILE
17222 
17223 #line 2286 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17224  tmpMeta[2] = mmc_mk_cons(_el, MMC_REFSTRUCTLIT(mmc_nil));
17225 #line 2286 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17226  tmpMeta[3] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, tmpMeta[2]);
17227 #line 2286 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17228  _str = omc_DAEDump_dumpDebugDAE(threadData, tmpMeta[3]);
17229 #line 17229 OMC_FILE
17230 
17231 #line 2287 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17232  tmpMeta[2] = stringAppend(_OMC_LIT130,_str);
17233 #line 2287 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17234  omc_Debug_traceln(threadData, tmpMeta[2]);
17235 #line 17235 OMC_FILE
17236 #line 2288 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17237  goto goto_2;
17238 #line 17238 OMC_FILE
17239  goto tmp3_done;
17240  }
17241  }
17242  goto tmp3_end;
17243  tmp3_end: ;
17244  }
17245  goto goto_2;
17246  tmp3_done:
17247  (void)tmp4;
17248  MMC_RESTORE_INTERNAL(mmc_jumper);
17249  goto tmp3_done2;
17250  goto_2:;
17251  MMC_CATCH_INTERNAL(mmc_jumper);
17252  if (++tmp4 < 3) {
17253  goto tmp3_top;
17254  }
17255  MMC_THROW_INTERNAL();
17256  tmp3_done2:;
17257  }
17258  }
17259  _outCache = tmpMeta[0+0];
17260  _outValue = tmpMeta[0+1];
17261  _return: OMC_LABEL_UNUSED
17262  if (out_outValue) { *out_outValue = _outValue; }
17263  return _outCache;
17264 }
DLLExport modelica_metatype omc_ElementSource_getElementSourceFileInfo(threadData_t *threadData, modelica_metatype _source)
DLLExport modelica_string omc_DAEDump_dumpDebugDAE(threadData_t *threadData, modelica_metatype _dae)
Definition: DAEDump.c:8131
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
modelica_metatype modelica_string
ADD_METARECORD_DEFINITIONS struct record_description Absyn_Msg_MSG__desc
m_integer modelica_integer
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_metatype omc_Ceval_ceval(threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _inEnv, modelica_metatype _inExp, modelica_boolean _inBoolean, modelica_metatype _inMsg, modelica_integer _numIter, modelica_metatype *out_outValue)
Definition: Ceval.c:23511
DLLExport modelica_boolean omc_Flags_isSet(threadData_t *threadData, modelica_metatype _inFlag)
Definition: Flags.c:11632
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport modelica_string omc_ComponentReference_printComponentRefStr(threadData_t *threadData, modelica_metatype _inComponentRef)
ADD_METARECORD_DEFINITIONS struct record_description Values_Value_RECORD__desc
DLLExport void omc_Debug_traceln(threadData_t *threadData, modelica_string _str)
Definition: Debug.c:17
void * modelica_metatype
DLLExport modelica_metatype omc_DAEUtil_daeToRecordValue(threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _inEnv, modelica_metatype _inPath, modelica_metatype _inElementLst, modelica_boolean _inBoolean, modelica_metatype *out_outValue)
Definition: DAEUtil.c:17069
struct record_description DAE_DAElist_DAE__desc
Definition: DAE_records.c:2591
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the caller graph for this function:

◆ omc_DAEUtil_derivativeOrder()

DLLExport modelica_boolean omc_DAEUtil_derivativeOrder ( threadData_t threadData,
modelica_metatype  _e1,
modelica_metatype  _e2 
)

Definition at line 25662 of file DAEUtil.c.

25663 {
25664  modelica_boolean _b;
25665  modelica_integer _i1;
25666  modelica_integer _i2;
25667  modelica_boolean tmp1 = 0;
25668  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
25669  MMC_SO();
25670  _tailrecursive: OMC_LABEL_UNUSED
25671 #line 25671 OMC_FILE
25672  { /* match expression */
25673  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
25674  tmp4_1 = _e1;
25675  tmp4_2 = _e2;
25676  {
25677  volatile mmc_switch_type tmp4;
25678  int tmp5;
25679  tmp4 = 0;
25680  for (; tmp4 < 1; tmp4++) {
25681  switch (MMC_SWITCH_CAST(tmp4)) {
25682  case 0: {
25683  modelica_integer tmp6;
25684  modelica_integer tmp7;
25685  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
25686  tmp6 = mmc_unbox_integer(tmpMeta[0]);
25687  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
25688  tmp7 = mmc_unbox_integer(tmpMeta[1]);
25689 
25690  _i1 = tmp6 /* pattern as ty=Integer */;
25691  _i2 = tmp7 /* pattern as ty=Integer */;
25692  /* Pattern matching succeeded */
25693 #line 266 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25694  tmp1 = omc_Util_isIntGreater(threadData, (modelica_integer)_i1, (modelica_integer)_i2);
25695 #line 25695 OMC_FILE
25696  goto tmp3_done;
25697  }
25698  }
25699  goto tmp3_end;
25700  tmp3_end: ;
25701  }
25702  goto goto_2;
25703  goto_2:;
25704  MMC_THROW_INTERNAL();
25705  goto tmp3_done;
25706  tmp3_done:;
25707  }
25708  }
25709  _b = tmp1;
25710  _return: OMC_LABEL_UNUSED
25711  return _b;
25712 }
DLLExport modelica_boolean omc_Util_isIntGreater(threadData_t *threadData, modelica_integer _lhs, modelica_integer _rhs)
Definition: Util.c:5702
m_integer modelica_integer
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_dimExp()

DLLExport modelica_metatype omc_DAEUtil_dimExp ( threadData_t threadData,
modelica_metatype  _dim 
)

Definition at line 25723 of file DAEUtil.c.

25724 {
25725  modelica_metatype _exp = NULL;
25726  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
25727  MMC_SO();
25728  _tailrecursive: OMC_LABEL_UNUSED
25729 #line 25729 OMC_FILE
25730  { /* match expression */
25731  modelica_metatype tmp3_1;
25732  tmp3_1 = _dim;
25733  {
25734  modelica_integer _iconst;
25735  int tmp3;
25736  {
25737  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
25738  case 3: {
25739  modelica_integer tmp4;
25740  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,1) == 0) goto tmp2_end;
25741  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
25742  tmp4 = mmc_unbox_integer(tmpMeta[1]);
25743  _iconst = tmp4 /* pattern as ty=Integer */;
25744  /* Pattern matching succeeded */
25745 #line 246 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25746  tmpMeta[1] = mmc_mk_box2(3, &DAE_Exp_ICONST__desc, mmc_mk_integer((modelica_integer)_iconst));
25747 #line 246 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25748  tmpMeta[0] = tmpMeta[1];
25749 #line 25749 OMC_FILE
25750  goto tmp2_done;
25751  }
25752  case 6: {
25753  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,3,1) == 0) goto tmp2_end;
25754  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
25755  _exp = tmpMeta[1];
25756  /* Pattern matching succeeded */
25757 #line 248 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25758  tmpMeta[0] = _exp;
25759 #line 25759 OMC_FILE
25760  goto tmp2_done;
25761  }
25762  default:
25763  tmp2_default: OMC_LABEL_UNUSED; {
25764 
25765  /* Pattern matching succeeded */
25766 #line 251 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25767  tmpMeta[1] = mmc_mk_cons(mmc_anyString(_dim), MMC_REFSTRUCTLIT(mmc_nil));
25768 #line 251 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25769  omc_Error_addMessage(threadData, _OMC_LIT165, tmpMeta[1]);
25770 #line 25770 OMC_FILE
25771 #line 252 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25772  goto goto_1;
25773 #line 25773 OMC_FILE
25774  goto tmp2_done;
25775  }
25776  }
25777  goto tmp2_end;
25778  tmp2_end: ;
25779  }
25780  goto goto_1;
25781  goto_1:;
25782  MMC_THROW_INTERNAL();
25783  goto tmp2_done;
25784  tmp2_done:;
25785  }
25786  }
25787  _exp = tmpMeta[0];
25788  _return: OMC_LABEL_UNUSED
25789  return _exp;
25790 }
m_integer modelica_integer
DLLExport void omc_Error_addMessage(threadData_t *threadData, modelica_metatype _inErrorMsg, modelica_metatype _inMessageTokens)
Definition: Error.c:1082
struct record_description DAE_Exp_ICONST__desc
Definition: DAE_records.c:5295
void * modelica_metatype
void * mmc_anyString(void *any)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_dumpVarParallelismStr()

DLLExport modelica_string omc_DAEUtil_dumpVarParallelismStr ( threadData_t threadData,
modelica_metatype  _inVarParallelism 
)

Definition at line 26371 of file DAEUtil.c.

26372 {
26373  modelica_string _outString = NULL;
26374  modelica_string tmp1 = 0;
26375  MMC_SO();
26376  _tailrecursive: OMC_LABEL_UNUSED
26377 #line 26377 OMC_FILE
26378  { /* match expression */
26379  modelica_metatype tmp4_1;
26380  tmp4_1 = _inVarParallelism;
26381  {
26382  int tmp4;
26383  {
26384  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
26385  case 5: {
26386 
26387  /* Pattern matching succeeded */
26388 #line 115 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26389  tmp1 = _OMC_LIT7;
26390 #line 26390 OMC_FILE
26391  goto tmp3_done;
26392  }
26393  case 3: {
26394 
26395  /* Pattern matching succeeded */
26396 #line 116 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26397  tmp1 = _OMC_LIT167;
26398 #line 26398 OMC_FILE
26399  goto tmp3_done;
26400  }
26401  case 4: {
26402 
26403  /* Pattern matching succeeded */
26404 #line 117 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26405  tmp1 = _OMC_LIT168;
26406 #line 26406 OMC_FILE
26407  goto tmp3_done;
26408  }
26409  }
26410  goto tmp3_end;
26411  tmp3_end: ;
26412  }
26413  goto goto_2;
26414  goto_2:;
26415  MMC_THROW_INTERNAL();
26416  goto tmp3_done;
26417  tmp3_done:;
26418  }
26419  }
26420  _outString = tmp1;
26421  _return: OMC_LABEL_UNUSED
26422  return _outString;
26423 }
modelica_metatype modelica_string
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_evaluateAnnotation()

DLLExport modelica_metatype omc_DAEUtil_evaluateAnnotation ( threadData_t threadData,
modelica_metatype  _inCache,
modelica_metatype  _env,
modelica_metatype  _inDAElist 
)

Definition at line 13406 of file DAEUtil.c.

13407 {
13408  modelica_metatype _outDAElist = NULL;
13409  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
13410  MMC_SO();
13411  _tailrecursive: OMC_LABEL_UNUSED
13412 #line 13412 OMC_FILE
13413  { /* matchcontinue expression */
13414  volatile modelica_metatype tmp3_1;
13415  tmp3_1 = _inDAElist;
13416  {
13417  modelica_metatype _dae = NULL;
13418  modelica_metatype _ht = NULL;
13419  modelica_metatype _pv = NULL;
13420  modelica_metatype _ht1 = NULL;
13421  modelica_metatype _elts = NULL;
13422  modelica_metatype _elts2 = NULL;
13423  volatile mmc_switch_type tmp3;
13424  int tmp4;
13425  tmp3 = 0;
13426  MMC_TRY_INTERNAL(mmc_jumper)
13427  tmp2_top:
13428  threadData->mmc_jumper = &new_mmc_jumper;
13429  for (; tmp3 < 2; tmp3++) {
13430  switch (MMC_SWITCH_CAST(tmp3)) {
13431  case 0: {
13432  modelica_boolean tmp5;
13433  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
13434  _dae = tmp3_1;
13435  _elts = tmpMeta[1];
13436  /* Pattern matching succeeded */
13437 #line 3319 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13438  _pv = omc_DAEUtil_getParameterVars(threadData, _dae, omc_HashTable2_emptyHashTable(threadData));
13439 #line 13439 OMC_FILE
13440 
13441 #line 3320 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13442  /* Pattern-matching tuple assignment */
13443 #line 3320 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13444  tmpMeta[1] = omc_DAEUtil_evaluateAnnotation1(threadData, _dae, _pv, omc_HashTable2_emptyHashTable(threadData), &tmp5);
13445 #line 3320 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13446  _ht = tmpMeta[1];
13447 #line 3320 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13448  if (1 != tmp5) goto goto_1;
13449 #line 13449 OMC_FILE
13450 
13451 #line 3321 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13452  omc_DAEUtil_evaluateAnnotation2__loop(threadData, _inCache, _env, _dae, _ht, omc_BaseHashTable_hashTableCurrentSize(threadData, _ht) ,&_ht1 ,NULL);
13453 #line 13453 OMC_FILE
13454 
13455 #line 3322 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13456  tmpMeta[1] = mmc_mk_box3(0, _ht1, mmc_mk_integer(((modelica_integer) 0)), mmc_mk_integer(((modelica_integer) 0)));
13457 #line 3322 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13458  tmpMeta[2] = mmc_mk_box2(0, boxvar_DAEUtil_evaluateAnnotationTraverse, tmpMeta[1]);
13459 #line 3322 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13460  _elts2 = omc_DAEUtil_traverseDAEElementList(threadData, _elts, boxvar_Expression_traverseSubexpressionsHelper, tmpMeta[2], NULL);
13461 #line 13461 OMC_FILE
13462 #line 3323 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13463  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _elts2);
13464 #line 3323 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13465  tmpMeta[0] = tmpMeta[1];
13466 #line 13466 OMC_FILE
13467  goto tmp2_done;
13468  }
13469  case 1: {
13470 
13471  /* Pattern matching succeeded */
13472 #line 3325 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13473  tmpMeta[0] = _inDAElist;
13474 #line 13474 OMC_FILE
13475  goto tmp2_done;
13476  }
13477  }
13478  goto tmp2_end;
13479  tmp2_end: ;
13480  }
13481  goto goto_1;
13482  tmp2_done:
13483  (void)tmp3;
13484  MMC_RESTORE_INTERNAL(mmc_jumper);
13485  goto tmp2_done2;
13486  goto_1:;
13487  MMC_CATCH_INTERNAL(mmc_jumper);
13488  if (++tmp3 < 2) {
13489  goto tmp2_top;
13490  }
13491  MMC_THROW_INTERNAL();
13492  tmp2_done2:;
13493  }
13494  }
13495  _outDAElist = tmpMeta[0];
13496  _return: OMC_LABEL_UNUSED
13497  return _outDAElist;
13498 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
m_integer modelica_integer
signed char modelica_boolean
DLLExport modelica_metatype omc_DAEUtil_traverseDAEElementList(threadData_t *threadData, modelica_metatype _ $in_elements, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
Definition: DAEUtil.c:11074
DLLExport modelica_integer omc_BaseHashTable_hashTableCurrentSize(threadData_t *threadData, modelica_metatype _hashTable)
float mmc_switch_type
DLLExport modelica_metatype omc_DAEUtil_getParameterVars(threadData_t *threadData, modelica_metatype _dae, modelica_metatype _ht)
Definition: DAEUtil.c:13049
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation2__loop(threadData_t *threadData, modelica_metatype _cache, modelica_metatype _env, modelica_metatype _inDAElist, modelica_metatype _inHt, modelica_integer _sizeBefore, modelica_metatype *out_outHt, modelica_metatype *out_outCache)
Definition: DAEUtil.c:12607
DLLExport modelica_metatype omc_DAEUtil_evaluateAnnotation1(threadData_t *threadData, modelica_metatype _dae, modelica_metatype _pv, modelica_metatype _ht, modelica_boolean *out_hasEvaluate)
Definition: DAEUtil.c:12894
DLLExport modelica_metatype omc_HashTable2_emptyHashTable(threadData_t *threadData)
Definition: HashTable2.c:39
struct record_description DAE_DAElist_DAE__desc
Definition: DAE_records.c:2591
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:

◆ omc_DAEUtil_evaluateAnnotation1()

DLLExport modelica_metatype omc_DAEUtil_evaluateAnnotation1 ( threadData_t threadData,
modelica_metatype  _dae,
modelica_metatype  _pv,
modelica_metatype  _ht,
modelica_boolean out_hasEvaluate 
)

Definition at line 12894 of file DAEUtil.c.

12895 {
12896  modelica_metatype _oht = NULL;
12897  modelica_boolean _hasEvaluate;
12898  modelica_metatype _elts = NULL;
12899  modelica_integer tmp1;
12900  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
12901  MMC_SO();
12902  _tailrecursive: OMC_LABEL_UNUSED
12903 #line 3439 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12904  /* Pattern-matching assignment */
12905 #line 3439 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12906  tmpMeta[0] = _dae;
12907 #line 3439 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12908  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
12909 #line 3439 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12910  _elts = tmpMeta[1];
12911 #line 12911 OMC_FILE
12912 
12913 #line 3440 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12914  /* Pattern-matching assignment */
12915 #line 3440 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12916  tmpMeta[0] = mmc_mk_box2(0, _ht, mmc_mk_boolean(0));
12917 #line 3440 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12918  tmpMeta[1] = omc_List_fold1r(threadData, _elts, boxvar_DAEUtil_evaluateAnnotation1Fold, _pv, tmpMeta[0]);
12919 #line 3440 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12920  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
12921 #line 3440 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12922  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
12923 #line 3440 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12924  tmp1 = mmc_unbox_integer(tmpMeta[3]);
12925 #line 3440 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12926  _oht = tmpMeta[2];
12927 #line 3440 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12928  _hasEvaluate = tmp1 /* pattern as ty=Boolean */;
12929 #line 12929 OMC_FILE
12930  _return: OMC_LABEL_UNUSED
12931  if (out_hasEvaluate) { *out_hasEvaluate = _hasEvaluate; }
12932  return _oht;
12933 }
m_integer modelica_integer
signed char modelica_boolean
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_List_fold1r(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFoldFunc, modelica_metatype _inExtraArg, modelica_metatype _inStartValue)
Definition: List.c:9581
Here is the caller graph for this function:

◆ omc_DAEUtil_evaluateAnnotation1Fold()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation1Fold ( threadData_t threadData,
modelica_metatype  _tpl,
modelica_metatype  _el,
modelica_metatype  _inPV 
)

Definition at line 12762 of file DAEUtil.c.

12763 {
12764  modelica_metatype _otpl = NULL;
12765  modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
12766  MMC_SO();
12767  _tailrecursive: OMC_LABEL_UNUSED
12768 #line 12768 OMC_FILE
12769  { /* matchcontinue expression */
12770  volatile modelica_metatype tmp3_1;volatile modelica_metatype tmp3_2;volatile modelica_metatype tmp3_3;
12771  tmp3_1 = _tpl;
12772  tmp3_2 = _el;
12773  tmp3_3 = _inPV;
12774  {
12775  modelica_metatype _sublist = NULL;
12776  modelica_metatype _comment = NULL;
12777  modelica_metatype _ht = NULL;
12778  modelica_metatype _ht1 = NULL;
12779  modelica_metatype _pv = NULL;
12780  modelica_metatype _cr = NULL;
12781  modelica_metatype _anno = NULL;
12782  modelica_metatype _e = NULL;
12783  modelica_metatype _e1 = NULL;
12784  volatile mmc_switch_type tmp3;
12785  int tmp4;
12786  tmp3 = 0;
12787  MMC_TRY_INTERNAL(mmc_jumper)
12788  tmp2_top:
12789  threadData->mmc_jumper = &new_mmc_jumper;
12790  for (; tmp3 < 3; tmp3++) {
12791  switch (MMC_SWITCH_CAST(tmp3)) {
12792  case 0: {
12793  if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,17,4) == 0) goto tmp2_end;
12794  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
12795 
12796  _sublist = tmpMeta[1];
12797  _pv = tmp3_3;
12798  tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
12799 #line 3461 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12800  tmpMeta[0] = omc_List_fold1r(threadData, _sublist, boxvar_DAEUtil_evaluateAnnotation1Fold, _pv, _tpl);
12801 #line 12801 OMC_FILE
12802  goto tmp2_done;
12803  }
12804  case 1: {
12805  modelica_boolean tmp5;
12806  if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,0,13) == 0) goto tmp2_end;
12807  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
12808  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3));
12809  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],2,0) == 0) goto tmp2_end;
12810  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 8));
12811  if (optionNone(tmpMeta[3])) goto tmp2_end;
12812  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 1));
12813  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 13));
12814  if (optionNone(tmpMeta[5])) goto tmp2_end;
12815  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 1));
12816  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
12817 
12818  _cr = tmpMeta[1];
12819  _e = tmpMeta[4];
12820  _comment = tmpMeta[6];
12821  _ht = tmpMeta[7];
12822  _pv = tmp3_3;
12823  /* Pattern matching succeeded */
12824 #line 3464 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12825  /* Pattern-matching assignment */
12826 #line 3464 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12827  tmpMeta[1] = _comment;
12828 #line 3464 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12829  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
12830 #line 3464 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12831  if (optionNone(tmpMeta[2])) goto goto_1;
12832 #line 3464 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12833  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
12834 #line 3464 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12835  _anno = tmpMeta[3];
12836 #line 12836 OMC_FILE
12837 
12838 #line 3465 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12839  /* Pattern-matching assignment */
12840 #line 3465 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12841  tmp5 = omc_SCode_hasBooleanNamedAnnotation(threadData, _anno, _OMC_LIT91);
12842 #line 3465 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12843  if (1 != tmp5) goto goto_1;
12844 #line 12844 OMC_FILE
12845 
12846 #line 3466 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12847  _e1 = omc_DAEUtil_evaluateParameter(threadData, _e, _pv);
12848 #line 12848 OMC_FILE
12849 
12850 #line 3467 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12851  tmpMeta[1] = mmc_mk_box2(0, _cr, _e1);
12852 #line 3467 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12853  _ht1 = omc_BaseHashTable_add(threadData, tmpMeta[1], _ht);
12854 #line 12854 OMC_FILE
12855 #line 3468 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12856  tmpMeta[1] = mmc_mk_box2(0, _ht1, mmc_mk_boolean(1));
12857 #line 3468 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12858  tmpMeta[0] = tmpMeta[1];
12859 #line 12859 OMC_FILE
12860  goto tmp2_done;
12861  }
12862  case 2: {
12863 
12864  /* Pattern matching succeeded */
12865 #line 3470 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12866  tmpMeta[0] = _tpl;
12867 #line 12867 OMC_FILE
12868  goto tmp2_done;
12869  }
12870  }
12871  goto tmp2_end;
12872  tmp2_end: ;
12873  }
12874  goto goto_1;
12875  tmp2_done:
12876  (void)tmp3;
12877  MMC_RESTORE_INTERNAL(mmc_jumper);
12878  goto tmp2_done2;
12879  goto_1:;
12880  MMC_CATCH_INTERNAL(mmc_jumper);
12881  if (++tmp3 < 3) {
12882  goto tmp2_top;
12883  }
12884  MMC_THROW_INTERNAL();
12885  tmp2_done2:;
12886  }
12887  }
12888  _otpl = tmpMeta[0];
12889  _return: OMC_LABEL_UNUSED
12890  return _otpl;
12891 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
signed char modelica_boolean
float mmc_switch_type
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateParameter(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inPV)
Definition: DAEUtil.c:12646
DLLExport modelica_boolean omc_SCode_hasBooleanNamedAnnotation(threadData_t *threadData, modelica_metatype _inAnnotation, modelica_string _inName)
Definition: SCode.c:10096
void * modelica_metatype
DLLExport modelica_metatype omc_BaseHashTable_add(threadData_t *threadData, modelica_metatype _entry, modelica_metatype _hashTable)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
DLLExport modelica_metatype omc_List_fold1r(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFoldFunc, modelica_metatype _inExtraArg, modelica_metatype _inStartValue)
Definition: List.c:9581
Here is the call graph for this function:

◆ omc_DAEUtil_evaluateAnnotation2()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation2 ( threadData_t threadData,
modelica_metatype  _inCache,
modelica_metatype  _env,
modelica_metatype  _inDAElist,
modelica_metatype  _inHt,
modelica_metatype out_outHt,
modelica_metatype out_outCache 
)

Definition at line 12417 of file DAEUtil.c.

12418 {
12419  modelica_metatype _outDAElist = NULL;
12420  modelica_metatype _outHt = NULL;
12421  modelica_metatype _outCache = NULL;
12422  modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
12423  MMC_SO();
12424  _tailrecursive: OMC_LABEL_UNUSED
12425 #line 3554 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12426 
12427 #line 3554 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12428 
12429 #line 3554 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12430 
12431 #line 12431 OMC_FILE
12432  { /* matchcontinue expression */
12433  volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;
12434  tmp4_1 = _inDAElist;
12435  tmp4_2 = _inHt;
12436  {
12437  modelica_metatype _elementLst = NULL;
12438  modelica_metatype _elementLst1 = NULL;
12439  modelica_metatype _ht = NULL;
12440  modelica_metatype _ht1 = NULL;
12441  modelica_metatype _cache = NULL;
12442  volatile mmc_switch_type tmp4;
12443  int tmp5;
12444  tmp4 = 0;
12445  MMC_TRY_INTERNAL(mmc_jumper)
12446  tmp3_top:
12447  threadData->mmc_jumper = &new_mmc_jumper;
12448  for (; tmp4 < 2; tmp4++) {
12449  switch (MMC_SWITCH_CAST(tmp4)) {
12450  case 0: {
12451  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
12452  if (!listEmpty(tmpMeta[3])) goto tmp3_end;
12453 
12454  _ht = tmp4_2;
12455  /* Pattern matching succeeded */
12456 #line 3559 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12457  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
12458 #line 3559 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12459  tmpMeta[0+0] = tmpMeta[3];
12460 #line 3559 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12461  tmpMeta[0+1] = _ht;
12462 #line 3559 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12463  tmpMeta[0+2] = _inCache;
12464 #line 12464 OMC_FILE
12465  goto tmp3_done;
12466  }
12467  case 1: {
12468  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
12469 
12470  _elementLst = tmpMeta[3];
12471  _ht = tmp4_2;
12472  /* Pattern matching succeeded */
12473 #line 3562 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12474  /* Pattern-matching tuple assignment */
12475 #line 3562 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12476  tmpMeta[6] = mmc_mk_box3(0, _ht, _inCache, _env);
12477 #line 3562 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12478  tmpMeta[7] = omc_List_mapFold(threadData, _elementLst, boxvar_DAEUtil_evaluateAnnotation3, tmpMeta[6], &tmpMeta[3]);
12479 #line 3562 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12480  _elementLst1 = tmpMeta[7];
12481 #line 3562 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12482  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 1));
12483 #line 3562 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12484  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
12485 #line 3562 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12486  _ht1 = tmpMeta[4];
12487 #line 3562 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12488  _cache = tmpMeta[5];
12489 #line 12489 OMC_FILE
12490 #line 3563 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12491  tmpMeta[0+0] = _elementLst1;
12492 #line 3563 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12493  tmpMeta[0+1] = _ht1;
12494 #line 3563 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12495  tmpMeta[0+2] = _cache;
12496 #line 12496 OMC_FILE
12497  goto tmp3_done;
12498  }
12499  }
12500  goto tmp3_end;
12501  tmp3_end: ;
12502  }
12503  goto goto_2;
12504  tmp3_done:
12505  (void)tmp4;
12506  MMC_RESTORE_INTERNAL(mmc_jumper);
12507  goto tmp3_done2;
12508  goto_2:;
12509  MMC_CATCH_INTERNAL(mmc_jumper);
12510  if (++tmp4 < 2) {
12511  goto tmp3_top;
12512  }
12513  MMC_THROW_INTERNAL();
12514  tmp3_done2:;
12515  }
12516  }
12517  _outDAElist = tmpMeta[0+0];
12518  _outHt = tmpMeta[0+1];
12519  _outCache = tmpMeta[0+2];
12520  _return: OMC_LABEL_UNUSED
12521  if (out_outHt) { *out_outHt = _outHt; }
12522  if (out_outCache) { *out_outCache = _outCache; }
12523  return _outDAElist;
12524 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
float mmc_switch_type
DLLExport modelica_metatype omc_List_mapFold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc, modelica_metatype _inArg, modelica_metatype *out_outArg)
Definition: List.c:9071
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the caller graph for this function:

◆ omc_DAEUtil_evaluateAnnotation2__loop()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation2__loop ( threadData_t threadData,
modelica_metatype  _cache,
modelica_metatype  _env,
modelica_metatype  _inDAElist,
modelica_metatype  _inHt,
modelica_integer  _sizeBefore,
modelica_metatype out_outHt,
modelica_metatype out_outCache 
)

Definition at line 12607 of file DAEUtil.c.

12608 {
12609  modelica_metatype _outDAElist = NULL;
12610  modelica_metatype _outHt = NULL;
12611  modelica_metatype _outCache = NULL;
12612  modelica_integer _newsize;
12613  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
12614  MMC_SO();
12615  _tailrecursive: OMC_LABEL_UNUSED
12616 #line 3514 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12617  _outDAElist = omc_DAEUtil_evaluateAnnotation2(threadData, _cache, _env, _inDAElist, _inHt ,&_outHt ,&_outCache);
12618 #line 12618 OMC_FILE
12619 
12620 #line 3515 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12621  _newsize = omc_BaseHashTable_hashTableCurrentSize(threadData, _outHt);
12622 #line 12622 OMC_FILE
12623 
12624 #line 3516 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12625  tmpMeta[0] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _outDAElist);
12626 #line 3516 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12627  _outDAElist = omc_DAEUtil_evaluateAnnotation2__loop1(threadData, ((modelica_integer)_newsize == (modelica_integer)_sizeBefore), _outCache, _env, tmpMeta[0], _outHt, (modelica_integer)_newsize ,&_outHt ,&_outCache);
12628 #line 12628 OMC_FILE
12629  _return: OMC_LABEL_UNUSED
12630  if (out_outHt) { *out_outHt = _outHt; }
12631  if (out_outCache) { *out_outCache = _outCache; }
12632  return _outDAElist;
12633 }
m_integer modelica_integer
DLLExport modelica_integer omc_BaseHashTable_hashTableCurrentSize(threadData_t *threadData, modelica_metatype _hashTable)
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation2__loop1(threadData_t *threadData, modelica_boolean _finish, modelica_metatype _inCache, modelica_metatype _env, modelica_metatype _inDAElist, modelica_metatype _inHt, modelica_integer _sizeBefore, modelica_metatype *out_outHt, modelica_metatype *out_outCache)
Definition: DAEUtil.c:12526
struct record_description DAE_DAElist_DAE__desc
Definition: DAE_records.c:2591
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation2(threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _env, modelica_metatype _inDAElist, modelica_metatype _inHt, modelica_metatype *out_outHt, modelica_metatype *out_outCache)
Definition: DAEUtil.c:12417
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_evaluateAnnotation2__loop1()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation2__loop1 ( threadData_t threadData,
modelica_boolean  _finish,
modelica_metatype  _inCache,
modelica_metatype  _env,
modelica_metatype  _inDAElist,
modelica_metatype  _inHt,
modelica_integer  _sizeBefore,
modelica_metatype out_outHt,
modelica_metatype out_outCache 
)

Definition at line 12526 of file DAEUtil.c.

12527 {
12528  modelica_metatype _outDAElist = NULL;
12529  modelica_metatype _outHt = NULL;
12530  modelica_metatype _outCache = NULL;
12531  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
12532  MMC_SO();
12533  _tailrecursive: OMC_LABEL_UNUSED
12534 #line 3530 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12535 
12536 #line 3530 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12537 
12538 #line 3530 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12539 
12540 #line 12540 OMC_FILE
12541  { /* match expression */
12542  modelica_boolean tmp4_1;modelica_metatype tmp4_2;
12543  tmp4_1 = _finish;
12544  tmp4_2 = _inDAElist;
12545  {
12546  modelica_metatype _elst = NULL;
12547  volatile mmc_switch_type tmp4;
12548  int tmp5;
12549  tmp4 = 0;
12550  for (; tmp4 < 2; tmp4++) {
12551  switch (MMC_SWITCH_CAST(tmp4)) {
12552  case 0: {
12553  if (1 != tmp4_1) goto tmp3_end;
12554  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
12555  _elst = tmpMeta[3];
12556  /* Pattern matching succeeded */
12557 #line 3535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12558  tmpMeta[0+0] = _elst;
12559 #line 3535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12560  tmpMeta[0+1] = _inHt;
12561 #line 3535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12562  tmpMeta[0+2] = _inCache;
12563 #line 12563 OMC_FILE
12564  goto tmp3_done;
12565  }
12566  case 1: {
12567 
12568  /* Pattern matching succeeded */
12569 #line 3538 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12570  tmpMeta[0+0] = omc_DAEUtil_evaluateAnnotation2__loop(threadData, _inCache, _env, _inDAElist, _inHt, (modelica_integer)_sizeBefore, &tmpMeta[0+1], &tmpMeta[0+2]);
12571 #line 12571 OMC_FILE
12572  goto tmp3_done;
12573  }
12574  }
12575  goto tmp3_end;
12576  tmp3_end: ;
12577  }
12578  goto goto_2;
12579  goto_2:;
12580  MMC_THROW_INTERNAL();
12581  goto tmp3_done;
12582  tmp3_done:;
12583  }
12584  }
12585  _outDAElist = tmpMeta[0+0];
12586  _outHt = tmpMeta[0+1];
12587  _outCache = tmpMeta[0+2];
12588  _return: OMC_LABEL_UNUSED
12589  if (out_outHt) { *out_outHt = _outHt; }
12590  if (out_outCache) { *out_outCache = _outCache; }
12591  return _outDAElist;
12592 }
m_integer modelica_integer
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation2__loop(threadData_t *threadData, modelica_metatype _cache, modelica_metatype _env, modelica_metatype _inDAElist, modelica_metatype _inHt, modelica_integer _sizeBefore, modelica_metatype *out_outHt, modelica_metatype *out_outCache)
Definition: DAEUtil.c:12607
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_evaluateAnnotation3()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation3 ( threadData_t threadData,
modelica_metatype  _iel,
modelica_metatype  _inHt,
modelica_metatype out_outHt 
)

Definition at line 12233 of file DAEUtil.c.

12234 {
12235  modelica_metatype _oel = NULL;
12236  modelica_metatype _outHt = NULL;
12237  modelica_metatype tmpMeta[19] __attribute__((unused)) = {0};
12238  MMC_SO();
12239  _tailrecursive: OMC_LABEL_UNUSED
12240 #line 3575 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12241 
12242 #line 3575 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12243 
12244 #line 12244 OMC_FILE
12245  { /* matchcontinue expression */
12246  volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;
12247  tmp4_1 = _iel;
12248  tmp4_2 = _inHt;
12249  {
12250  modelica_metatype _httpl = NULL;
12251  modelica_metatype _cache = NULL;
12252  modelica_metatype _env = NULL;
12253  modelica_metatype _sublist = NULL;
12254  modelica_metatype _sublist1 = NULL;
12255  modelica_metatype _ht = NULL;
12256  modelica_metatype _ht1 = NULL;
12257  modelica_metatype _cr = NULL;
12258  modelica_metatype _e = NULL;
12259  modelica_metatype _e1 = NULL;
12260  modelica_metatype _e2 = NULL;
12261  modelica_string _ident = NULL;
12262  modelica_metatype _source = NULL;
12263  modelica_metatype _comment = NULL;
12264  modelica_metatype _direction = NULL;
12265  modelica_metatype _parallelism = NULL;
12266  modelica_metatype _protection = NULL;
12267  modelica_metatype _ty = NULL;
12268  modelica_metatype _dims = NULL;
12269  modelica_metatype _ct = NULL;
12270  modelica_metatype _variableAttributesOption = NULL;
12271  modelica_metatype _absynCommentOption = NULL;
12272  modelica_metatype _innerOuter = NULL;
12273  modelica_integer _i;
12274  modelica_integer _j;
12275  volatile mmc_switch_type tmp4;
12276  int tmp5;
12277  tmp4 = 0;
12278  MMC_TRY_INTERNAL(mmc_jumper)
12279  tmp3_top:
12280  threadData->mmc_jumper = &new_mmc_jumper;
12281  for (; tmp4 < 3; tmp4++) {
12282  switch (MMC_SWITCH_CAST(tmp4)) {
12283  case 0: {
12284  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,17,4) == 0) goto tmp3_end;
12285  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
12286  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
12287  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
12288  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 5));
12289 
12290  _ident = tmpMeta[2];
12291  _sublist = tmpMeta[3];
12292  _source = tmpMeta[4];
12293  _comment = tmpMeta[5];
12294  tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
12295 #line 3604 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12296  _sublist1 = omc_List_mapFold(threadData, _sublist, boxvar_DAEUtil_evaluateAnnotation3, _inHt ,&_httpl);
12297 #line 12297 OMC_FILE
12298 #line 3605 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12299  tmpMeta[2] = mmc_mk_box5(20, &DAE_Element_COMP__desc, _ident, _sublist1, _source, _comment);
12300 #line 3605 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12301  tmpMeta[0+0] = tmpMeta[2];
12302 #line 3605 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12303  tmpMeta[0+1] = _httpl;
12304 #line 12304 OMC_FILE
12305  goto tmp3_done;
12306  }
12307  case 1: {
12308  modelica_integer tmp6;
12309  modelica_integer tmp7;
12310  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,13) == 0) goto tmp3_end;
12311  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
12312  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
12313  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],2,0) == 0) goto tmp3_end;
12314  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
12315  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 5));
12316  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 6));
12317  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 7));
12318  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 8));
12319  if (optionNone(tmpMeta[8])) goto tmp3_end;
12320  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[8]), 1));
12321  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 9));
12322  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 10));
12323  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 11));
12324  tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 12));
12325  tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 13));
12326  tmpMeta[15] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 14));
12327  tmpMeta[16] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
12328  tmpMeta[17] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
12329  tmpMeta[18] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
12330  _cr = tmpMeta[2];
12331  _direction = tmpMeta[4];
12332  _parallelism = tmpMeta[5];
12333  _protection = tmpMeta[6];
12334  _ty = tmpMeta[7];
12335  _e = tmpMeta[9];
12336  _dims = tmpMeta[10];
12337  _ct = tmpMeta[11];
12338  _source = tmpMeta[12];
12339  _variableAttributesOption = tmpMeta[13];
12340  _absynCommentOption = tmpMeta[14];
12341  _innerOuter = tmpMeta[15];
12342  _ht = tmpMeta[16];
12343  _cache = tmpMeta[17];
12344  _env = tmpMeta[18];
12345  /* Pattern matching succeeded */
12346 #line 3612 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12347  /* Pattern-matching tuple assignment */
12348 #line 3612 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12349  tmpMeta[5] = mmc_mk_box3(0, _ht, mmc_mk_integer(((modelica_integer) 0)), mmc_mk_integer(((modelica_integer) 0)));
12350 #line 3612 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12351  tmpMeta[6] = omc_Expression_traverseExpBottomUp(threadData, _e, boxvar_DAEUtil_evaluateAnnotationTraverse, tmpMeta[5], &tmpMeta[2]);
12352 #line 3612 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12353  _e1 = tmpMeta[6];
12354 #line 3612 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12355  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
12356 #line 3612 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12357  tmp6 = mmc_unbox_integer(tmpMeta[3]);
12358 #line 3612 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12359  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
12360 #line 3612 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12361  tmp7 = mmc_unbox_integer(tmpMeta[4]);
12362 #line 3612 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12363  _i = tmp6 /* pattern as ty=Integer */;
12364 #line 3612 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12365  _j = tmp7 /* pattern as ty=Integer */;
12366 #line 12366 OMC_FILE
12367 
12368 #line 3613 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12369  _e2 = omc_DAEUtil_evaluateAnnotation4(threadData, _cache, _env, _cr, _e1, (modelica_integer)_i, (modelica_integer)_j, _ht ,&_ht1 ,&_cache);
12370 #line 12370 OMC_FILE
12371 #line 3614 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12372  tmpMeta[2] = mmc_mk_box14(3, &DAE_Element_VAR__desc, _cr, _OMC_LIT90, _direction, _parallelism, _protection, _ty, mmc_mk_some(_e2), _dims, _ct, _source, _variableAttributesOption, _absynCommentOption, _innerOuter);
12373 #line 3614 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12374  tmpMeta[3] = mmc_mk_box3(0, _ht1, _cache, _env);
12375 #line 3614 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12376  tmpMeta[0+0] = tmpMeta[2];
12377 #line 3614 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12378  tmpMeta[0+1] = tmpMeta[3];
12379 #line 12379 OMC_FILE
12380  goto tmp3_done;
12381  }
12382  case 2: {
12383 
12384  /* Pattern matching succeeded */
12385 #line 3617 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12386  tmpMeta[0+0] = _iel;
12387 #line 3617 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12388  tmpMeta[0+1] = _inHt;
12389 #line 12389 OMC_FILE
12390  goto tmp3_done;
12391  }
12392  }
12393  goto tmp3_end;
12394  tmp3_end: ;
12395  }
12396  goto goto_2;
12397  tmp3_done:
12398  (void)tmp4;
12399  MMC_RESTORE_INTERNAL(mmc_jumper);
12400  goto tmp3_done2;
12401  goto_2:;
12402  MMC_CATCH_INTERNAL(mmc_jumper);
12403  if (++tmp4 < 3) {
12404  goto tmp3_top;
12405  }
12406  MMC_THROW_INTERNAL();
12407  tmp3_done2:;
12408  }
12409  }
12410  _oel = tmpMeta[0+0];
12411  _outHt = tmpMeta[0+1];
12412  _return: OMC_LABEL_UNUSED
12413  if (out_outHt) { *out_outHt = _outHt; }
12414  return _oel;
12415 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
modelica_metatype modelica_string
m_integer modelica_integer
float mmc_switch_type
DLLExport modelica_metatype omc_Expression_traverseExpBottomUp(threadData_t *threadData, modelica_metatype _inExp, modelica_fnptr _inFunc, modelica_metatype _inExtArg, modelica_metatype *out_outExtArg)
Definition: Expression.c:34297
struct record_description DAE_Element_VAR__desc
Definition: DAE_records.c:927
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_COMP__desc
Definition: DAE_records.c:1141
DLLExport modelica_metatype omc_List_mapFold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc, modelica_metatype _inArg, modelica_metatype *out_outArg)
Definition: List.c:9071
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation4(threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _env, modelica_metatype _inCr, modelica_metatype _inExp, modelica_integer _inInteger1, modelica_integer _inInteger2, modelica_metatype _inHt, modelica_metatype *out_outHt, modelica_metatype *out_outCache)
Definition: DAEUtil.c:12077
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:

◆ omc_DAEUtil_evaluateAnnotation4()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotation4 ( threadData_t threadData,
modelica_metatype  _inCache,
modelica_metatype  _env,
modelica_metatype  _inCr,
modelica_metatype  _inExp,
modelica_integer  _inInteger1,
modelica_integer  _inInteger2,
modelica_metatype  _inHt,
modelica_metatype out_outHt,
modelica_metatype out_outCache 
)

Definition at line 12077 of file DAEUtil.c.

12078 {
12079  modelica_metatype _outExp = NULL;
12080  modelica_metatype _outHt = NULL;
12081  modelica_metatype _outCache = NULL;
12082  modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
12083  MMC_SO();
12084  _tailrecursive: OMC_LABEL_UNUSED
12085 #line 3634 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12086 
12087 #line 3634 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12088 
12089 #line 3634 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12090 
12091 #line 12091 OMC_FILE
12092  { /* matchcontinue expression */
12093  volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;volatile modelica_integer tmp4_3;volatile modelica_integer tmp4_4;volatile modelica_metatype tmp4_5;
12094  tmp4_1 = _inCr;
12095  tmp4_2 = _inExp;
12096  tmp4_3 = (modelica_integer)_inInteger1;
12097  tmp4_4 = (modelica_integer)_inInteger2;
12098  tmp4_5 = _inHt;
12099  {
12100  modelica_metatype _cr = NULL;
12101  modelica_metatype _e = NULL;
12102  modelica_metatype _e1 = NULL;
12103  modelica_integer _i;
12104  modelica_integer _j;
12105  modelica_metatype _ht = NULL;
12106  modelica_metatype _ht1 = NULL;
12107  modelica_metatype _cache = NULL;
12108  modelica_metatype _value = NULL;
12109  volatile mmc_switch_type tmp4;
12110  int tmp5;
12111  tmp4 = 0;
12112  MMC_TRY_INTERNAL(mmc_jumper)
12113  tmp3_top:
12114  threadData->mmc_jumper = &new_mmc_jumper;
12115  for (; tmp4 < 2; tmp4++) {
12116  switch (MMC_SWITCH_CAST(tmp4)) {
12117  case 0: {
12118  modelica_boolean tmp6;
12119  modelica_boolean tmp7;
12120 
12121  _cr = tmp4_1;
12122  _e = tmp4_2;
12123  _i = tmp4_3;
12124  _j = tmp4_4;
12125  _ht = tmp4_5;
12126  /* Pattern matching succeeded */
12127 #line 3645 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12128  /* Pattern-matching assignment */
12129 #line 3645 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12130  tmp6 = ((modelica_integer)_j > ((modelica_integer) 0));
12131 #line 3645 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12132  if (1 != tmp6) goto goto_2;
12133 #line 12133 OMC_FILE
12134 
12135 #line 3647 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12136  /* Pattern-matching assignment */
12137 #line 3647 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12138  tmp7 = ((modelica_integer)_i == ((modelica_integer) 0));
12139 #line 3647 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12140  if (1 != tmp7) goto goto_2;
12141 #line 12141 OMC_FILE
12142 
12143 #line 3649 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12144  /* Pattern-matching tuple assignment */
12145 #line 3649 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12146  tmpMeta[5] = mmc_mk_box3(0, _ht, mmc_mk_integer(((modelica_integer) 0)), mmc_mk_integer(((modelica_integer) 0)));
12147 #line 3649 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12148  tmpMeta[6] = omc_Expression_traverseExpBottomUp(threadData, _e, boxvar_DAEUtil_evaluateAnnotationTraverse, tmpMeta[5], &tmpMeta[3]);
12149 #line 3649 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12150  _e1 = tmpMeta[6];
12151 #line 3649 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12152  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 1));
12153 #line 3649 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12154  _ht = tmpMeta[4];
12155 #line 12155 OMC_FILE
12156 
12157 #line 3650 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12158  _cache = omc_Ceval_ceval(threadData, _inCache, _env, _e1, 0, _OMC_LIT89, ((modelica_integer) 0) ,&_value);
12159 #line 12159 OMC_FILE
12160 
12161 #line 3651 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12162  _e1 = omc_ValuesUtil_valueExp(threadData, _value);
12163 #line 12163 OMC_FILE
12164 
12165 #line 3653 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12166  tmpMeta[3] = mmc_mk_box2(0, _cr, _e1);
12167 #line 3653 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12168  _ht1 = omc_BaseHashTable_add(threadData, tmpMeta[3], _ht);
12169 #line 12169 OMC_FILE
12170 #line 3654 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12171  tmpMeta[0+0] = _e1;
12172 #line 3654 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12173  tmpMeta[0+1] = _ht1;
12174 #line 3654 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12175  tmpMeta[0+2] = _cache;
12176 #line 12176 OMC_FILE
12177  goto tmp3_done;
12178  }
12179  case 1: {
12180 
12181  _e = tmp4_2;
12182  _ht = tmp4_5;
12183  /* Pattern matching succeeded */
12184 #line 3655 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12185  tmpMeta[0+0] = _e;
12186 #line 3655 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12187  tmpMeta[0+1] = _ht;
12188 #line 3655 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12189  tmpMeta[0+2] = _inCache;
12190 #line 12190 OMC_FILE
12191  goto tmp3_done;
12192  }
12193  }
12194  goto tmp3_end;
12195  tmp3_end: ;
12196  }
12197  goto goto_2;
12198  tmp3_done:
12199  (void)tmp4;
12200  MMC_RESTORE_INTERNAL(mmc_jumper);
12201  goto tmp3_done2;
12202  goto_2:;
12203  MMC_CATCH_INTERNAL(mmc_jumper);
12204  if (++tmp4 < 2) {
12205  goto tmp3_top;
12206  }
12207  MMC_THROW_INTERNAL();
12208  tmp3_done2:;
12209  }
12210  }
12211  _outExp = tmpMeta[0+0];
12212  _outHt = tmpMeta[0+1];
12213  _outCache = tmpMeta[0+2];
12214  _return: OMC_LABEL_UNUSED
12215  if (out_outHt) { *out_outHt = _outHt; }
12216  if (out_outCache) { *out_outCache = _outCache; }
12217  return _outExp;
12218 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
DLLExport modelica_metatype omc_ValuesUtil_valueExp(threadData_t *threadData, modelica_metatype _inValue)
Definition: ValuesUtil.c:6402
m_integer modelica_integer
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_metatype omc_Ceval_ceval(threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _inEnv, modelica_metatype _inExp, modelica_boolean _inBoolean, modelica_metatype _inMsg, modelica_integer _numIter, modelica_metatype *out_outValue)
Definition: Ceval.c:23511
DLLExport modelica_metatype omc_Expression_traverseExpBottomUp(threadData_t *threadData, modelica_metatype _inExp, modelica_fnptr _inFunc, modelica_metatype _inExtArg, modelica_metatype *out_outExtArg)
Definition: Expression.c:34297
void * modelica_metatype
DLLExport modelica_metatype omc_BaseHashTable_add(threadData_t *threadData, modelica_metatype _entry, modelica_metatype _hashTable)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the caller graph for this function:

◆ omc_DAEUtil_evaluateAnnotationTraverse()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateAnnotationTraverse ( threadData_t threadData,
modelica_metatype  _inExp,
modelica_metatype  _itpl,
modelica_metatype out_otpl 
)

Definition at line 13139 of file DAEUtil.c.

13140 {
13141  modelica_metatype _outExp = NULL;
13142  modelica_metatype _otpl = NULL;
13143  modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
13144  MMC_SO();
13145  _tailrecursive: OMC_LABEL_UNUSED
13146 #line 3335 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13147 
13148 #line 3335 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13149 
13150 #line 13150 OMC_FILE
13151  { /* matchcontinue expression */
13152  volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;
13153  tmp4_1 = _inExp;
13154  tmp4_2 = _itpl;
13155  {
13156  modelica_metatype _ht = NULL;
13157  modelica_metatype _exp = NULL;
13158  modelica_metatype _e1 = NULL;
13159  modelica_integer _i;
13160  modelica_integer _j;
13161  modelica_integer _k;
13162  volatile mmc_switch_type tmp4;
13163  int tmp5;
13164  tmp4 = 0;
13165  MMC_TRY_INTERNAL(mmc_jumper)
13166  tmp3_top:
13167  threadData->mmc_jumper = &new_mmc_jumper;
13168  for (; tmp4 < 5; tmp4++) {
13169  switch (MMC_SWITCH_CAST(tmp4)) {
13170  case 0: {
13171  modelica_integer tmp6;
13172  modelica_integer tmp7;
13173  modelica_boolean tmp8;
13174  modelica_integer tmp9;
13175  modelica_integer tmp10;
13176  modelica_boolean tmp11;
13177  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2) == 0) goto tmp3_end;
13178  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
13179  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],9,3) == 0) goto tmp3_end;
13180  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
13181  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],3,1) == 0) goto tmp3_end;
13182  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
13183  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
13184  tmp6 = mmc_unbox_integer(tmpMeta[5]);
13185  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
13186  tmp7 = mmc_unbox_integer(tmpMeta[6]);
13187  _exp = tmp4_1;
13188  _ht = tmpMeta[4];
13189  _i = tmp6 /* pattern as ty=Integer */;
13190  _j = tmp7 /* pattern as ty=Integer */;
13191  tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
13192 #line 3346 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13193  /* Pattern-matching tuple assignment */
13194 #line 3346 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13195  tmpMeta[2] = omc_Expression_extendArrExp(threadData, _exp, 0, &tmp8);
13196 #line 3346 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13197  _e1 = tmpMeta[2];
13198 #line 3346 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13199  if (1 != tmp8) goto goto_2;
13200 #line 13200 OMC_FILE
13201 
13202 #line 3347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13203  /* Pattern-matching tuple assignment */
13204 #line 3347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13205  tmpMeta[6] = omc_Expression_traverseExpBottomUp(threadData, _e1, boxvar_DAEUtil_evaluateAnnotationTraverse, _itpl, &tmpMeta[2]);
13206 #line 3347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13207  _e1 = tmpMeta[6];
13208 #line 3347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13209  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
13210 #line 3347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13211  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
13212 #line 3347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13213  tmp9 = mmc_unbox_integer(tmpMeta[4]);
13214 #line 3347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13215  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
13216 #line 3347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13217  tmp10 = mmc_unbox_integer(tmpMeta[5]);
13218 #line 3347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13219  _ht = tmpMeta[3];
13220 #line 3347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13221  _i = tmp9 /* pattern as ty=Integer */;
13222 #line 3347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13223  _k = tmp10 /* pattern as ty=Integer */;
13224 #line 13224 OMC_FILE
13225 
13226 #line 3348 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13227  /* Pattern-matching assignment */
13228 #line 3348 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13229  tmp11 = ((modelica_integer)_k > (modelica_integer)_j);
13230 #line 3348 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13231  if (1 != tmp11) goto goto_2;
13232 #line 13232 OMC_FILE
13233 #line 3349 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13234  tmpMeta[2] = mmc_mk_box3(0, _ht, mmc_mk_integer((modelica_integer)_i), mmc_mk_integer((modelica_integer)_k));
13235 #line 3349 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13236  tmpMeta[0+0] = _e1;
13237 #line 3349 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13238  tmpMeta[0+1] = tmpMeta[2];
13239 #line 13239 OMC_FILE
13240  goto tmp3_done;
13241  }
13242  case 1: {
13243  modelica_integer tmp12;
13244  modelica_integer tmp13;
13245  modelica_boolean tmp14;
13246  modelica_integer tmp15;
13247  modelica_integer tmp16;
13248  modelica_boolean tmp17;
13249  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2) == 0) goto tmp3_end;
13250  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
13251  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],6,2) == 0) goto tmp3_end;
13252  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
13253  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
13254  tmp12 = mmc_unbox_integer(tmpMeta[4]);
13255  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
13256  tmp13 = mmc_unbox_integer(tmpMeta[5]);
13257  _exp = tmp4_1;
13258  _ht = tmpMeta[3];
13259  _i = tmp12 /* pattern as ty=Integer */;
13260  _j = tmp13 /* pattern as ty=Integer */;
13261  /* Pattern matching succeeded */
13262 #line 3353 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13263  /* Pattern-matching tuple assignment */
13264 #line 3353 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13265  tmpMeta[2] = omc_Expression_extendArrExp(threadData, _exp, 0, &tmp14);
13266 #line 3353 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13267  _e1 = tmpMeta[2];
13268 #line 3353 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13269  if (1 != tmp14) goto goto_2;
13270 #line 13270 OMC_FILE
13271 
13272 #line 3354 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13273  /* Pattern-matching tuple assignment */
13274 #line 3354 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13275  tmpMeta[6] = omc_Expression_traverseExpBottomUp(threadData, _e1, boxvar_DAEUtil_evaluateAnnotationTraverse, _itpl, &tmpMeta[2]);
13276 #line 3354 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13277  _e1 = tmpMeta[6];
13278 #line 3354 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13279  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
13280 #line 3354 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13281  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
13282 #line 3354 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13283  tmp15 = mmc_unbox_integer(tmpMeta[4]);
13284 #line 3354 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13285  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
13286 #line 3354 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13287  tmp16 = mmc_unbox_integer(tmpMeta[5]);
13288 #line 3354 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13289  _ht = tmpMeta[3];
13290 #line 3354 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13291  _i = tmp15 /* pattern as ty=Integer */;
13292 #line 3354 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13293  _k = tmp16 /* pattern as ty=Integer */;
13294 #line 13294 OMC_FILE
13295 
13296 #line 3355 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13297  /* Pattern-matching assignment */
13298 #line 3355 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13299  tmp17 = ((modelica_integer)_k > (modelica_integer)_j);
13300 #line 3355 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13301  if (1 != tmp17) goto goto_2;
13302 #line 13302 OMC_FILE
13303 #line 3356 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13304  tmpMeta[2] = mmc_mk_box3(0, _ht, mmc_mk_integer((modelica_integer)_i), mmc_mk_integer((modelica_integer)_k));
13305 #line 3356 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13306  tmpMeta[0+0] = _e1;
13307 #line 3356 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13308  tmpMeta[0+1] = tmpMeta[2];
13309 #line 13309 OMC_FILE
13310  goto tmp3_done;
13311  }
13312  case 2: {
13313  modelica_integer tmp18;
13314  modelica_integer tmp19;
13315  modelica_boolean tmp20;
13316  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2) == 0) goto tmp3_end;
13317  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
13318  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
13319  tmp18 = mmc_unbox_integer(tmpMeta[3]);
13320  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
13321  tmp19 = mmc_unbox_integer(tmpMeta[4]);
13322  _exp = tmp4_1;
13323  _ht = tmpMeta[2];
13324  _i = tmp18 /* pattern as ty=Integer */;
13325  _j = tmp19 /* pattern as ty=Integer */;
13326  /* Pattern matching succeeded */
13327 #line 3360 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13328  _e1 = omc_DAEUtil_replaceCrefInAnnotation(threadData, _exp, _ht);
13329 #line 13329 OMC_FILE
13330 
13331 #line 3361 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13332  /* Pattern-matching assignment */
13333 #line 3361 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13334  tmp20 = omc_Expression_isConst(threadData, _e1);
13335 #line 3361 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13336  if (1 != tmp20) goto goto_2;
13337 #line 13337 OMC_FILE
13338 #line 3362 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13339  tmpMeta[2] = mmc_mk_box3(0, _ht, mmc_mk_integer((modelica_integer)_i), mmc_mk_integer(((modelica_integer) 1) + (modelica_integer)_j));
13340 #line 3362 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13341  tmpMeta[0+0] = _e1;
13342 #line 3362 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13343  tmpMeta[0+1] = tmpMeta[2];
13344 #line 13344 OMC_FILE
13345  goto tmp3_done;
13346  }
13347  case 3: {
13348  modelica_integer tmp21;
13349  modelica_integer tmp22;
13350  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2) == 0) goto tmp3_end;
13351  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
13352  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
13353  tmp21 = mmc_unbox_integer(tmpMeta[3]);
13354  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
13355  tmp22 = mmc_unbox_integer(tmpMeta[4]);
13356  _exp = tmp4_1;
13357  _ht = tmpMeta[2];
13358  _i = tmp21 /* pattern as ty=Integer */;
13359  _j = tmp22 /* pattern as ty=Integer */;
13360  /* Pattern matching succeeded */
13361 #line 3365 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13362  tmpMeta[2] = mmc_mk_box3(0, _ht, mmc_mk_integer(((modelica_integer) 1) + (modelica_integer)_i), mmc_mk_integer((modelica_integer)_j));
13363 #line 3365 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13364  tmpMeta[0+0] = _exp;
13365 #line 3365 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13366  tmpMeta[0+1] = tmpMeta[2];
13367 #line 13367 OMC_FILE
13368  goto tmp3_done;
13369  }
13370  case 4: {
13371 
13372  /* Pattern matching succeeded */
13373 #line 3367 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13374  tmpMeta[0+0] = _inExp;
13375 #line 3367 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13376  tmpMeta[0+1] = _itpl;
13377 #line 13377 OMC_FILE
13378  goto tmp3_done;
13379  }
13380  }
13381  goto tmp3_end;
13382  tmp3_end: ;
13383  }
13384  goto goto_2;
13385  tmp3_done:
13386  (void)tmp4;
13387  MMC_RESTORE_INTERNAL(mmc_jumper);
13388  goto tmp3_done2;
13389  goto_2:;
13390  MMC_CATCH_INTERNAL(mmc_jumper);
13391  if (++tmp4 < 5) {
13392  goto tmp3_top;
13393  }
13394  MMC_THROW_INTERNAL();
13395  tmp3_done2:;
13396  }
13397  }
13398  _outExp = tmpMeta[0+0];
13399  _otpl = tmpMeta[0+1];
13400  _return: OMC_LABEL_UNUSED
13401  if (out_otpl) { *out_otpl = _otpl; }
13402  return _outExp;
13403 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
m_integer modelica_integer
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_metatype omc_Expression_traverseExpBottomUp(threadData_t *threadData, modelica_metatype _inExp, modelica_fnptr _inFunc, modelica_metatype _inExtArg, modelica_metatype *out_outExtArg)
Definition: Expression.c:34297
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_replaceCrefInAnnotation(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inTable)
Definition: DAEUtil.c:13073
void * modelica_metatype
DLLExport modelica_boolean omc_Expression_isConst(threadData_t *threadData, modelica_metatype _inExp)
Definition: Expression.c:24712
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
DLLExport modelica_metatype omc_Expression_extendArrExp(threadData_t *threadData, modelica_metatype _inExp, modelica_boolean _inExpanded, modelica_boolean *out_outExpanded)
Definition: Expression.c:6091
Here is the call graph for this function:

◆ omc_DAEUtil_evaluateCref()

DLLExport modelica_metatype omc_DAEUtil_evaluateCref ( threadData_t threadData,
modelica_metatype  _icr,
modelica_metatype  _iels 
)

Definition at line 1669 of file DAEUtil.c.

1670 {
1671  modelica_metatype _oexp = NULL;
1672  modelica_metatype _e = NULL;
1673  modelica_metatype _ee = NULL;
1674  modelica_metatype _crefs = NULL;
1675  modelica_metatype _oexps = NULL;
1676  modelica_metatype _o = NULL;
1677  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
1678  MMC_SO();
1679  _tailrecursive: OMC_LABEL_UNUSED
1680 #line 6335 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1681  _oexp = omc_DAEUtil_getVarBinding(threadData, _iels, _icr);
1682 #line 1682 OMC_FILE
1683 
1684 #line 6336 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1685  if(isSome(_oexp))
1686 #line 6336 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1687  {
1688 #line 6337 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1689  /* Pattern-matching assignment */
1690 #line 6337 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1691  tmpMeta[0] = _oexp;
1692 #line 6337 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1693  if (optionNone(tmpMeta[0])) MMC_THROW_INTERNAL();
1694 #line 6337 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1695  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1));
1696 #line 6337 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1697  _e = tmpMeta[1];
1698 #line 1698 OMC_FILE
1699 
1700 #line 6338 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1701  _e = omc_ExpressionSimplify_simplify(threadData, _e, NULL);
1702 #line 1702 OMC_FILE
1703 
1704 #line 6340 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1705  if(omc_Expression_isConst(threadData, _e))
1706 #line 6340 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1707  {
1708 #line 6341 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1709  _oexp = mmc_mk_some(_e);
1710 #line 1710 OMC_FILE
1711 
1712 #line 6342 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1713  goto _return;
1714 #line 1714 OMC_FILE
1715  }
1716 
1717 #line 6345 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1718  _crefs = omc_Expression_getAllCrefs(threadData, _e);
1719 #line 1719 OMC_FILE
1720 
1721 #line 6346 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1722  _oexps = omc_List_map1(threadData, _crefs, boxvar_DAEUtil_evaluateCref, _iels);
1723 #line 1723 OMC_FILE
1724 
1725 #line 6347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1726  {
1727 #line 6347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1728  modelica_metatype _c;
1729 #line 6347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1730  for (tmpMeta[0] = _crefs; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
1731 #line 6347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1732  {
1733 #line 6347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1734  _c = MMC_CAR(tmpMeta[0]);
1735 #line 6348 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1736  /* Pattern-matching assignment */
1737 #line 6348 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1738  tmpMeta[1] = _oexps;
1739 #line 6348 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1740  if (listEmpty(tmpMeta[1])) MMC_THROW_INTERNAL();
1741 #line 6348 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1742  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
1743 #line 6348 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1744  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
1745 #line 6348 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1746  if (optionNone(tmpMeta[2])) MMC_THROW_INTERNAL();
1747 #line 6348 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1748  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
1749 #line 6348 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1750  _ee = tmpMeta[4];
1751 #line 6348 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1752  _oexps = tmpMeta[3];
1753 #line 1753 OMC_FILE
1754 
1755 #line 6349 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1756  tmpMeta[1] = mmc_mk_box2(0, _c, _ee);
1757 #line 6349 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1758  _e = omc_Expression_replaceCref(threadData, _e, tmpMeta[1], NULL);
1759 #line 1759 OMC_FILE
1760 
1761 #line 6350 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1762  _e = omc_ExpressionSimplify_simplify(threadData, _e, NULL);
1763 #line 1763 OMC_FILE
1764  }
1765  }
1766 
1767 #line 6352 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1768  _oexp = mmc_mk_some(_e);
1769 #line 1769 OMC_FILE
1770  }
1771  _return: OMC_LABEL_UNUSED
1772  return _oexp;
1773 }
DLLExport modelica_metatype omc_Expression_getAllCrefs(threadData_t *threadData, modelica_metatype _inExp)
Definition: Expression.c:44476
DLLExport modelica_metatype omc_DAEUtil_getVarBinding(threadData_t *threadData, modelica_metatype _iels, modelica_metatype _icr)
Definition: DAEUtil.c:1776
void * modelica_metatype
DLLExport modelica_metatype omc_Expression_replaceCref(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inTpl, modelica_metatype *out_otpl)
Definition: Expression.c:35877
DLLExport modelica_boolean omc_Expression_isConst(threadData_t *threadData, modelica_metatype _inExp)
Definition: Expression.c:24712
DLLExport modelica_metatype omc_List_map1(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inMapFunc, modelica_metatype _inArg1)
Definition: List.c:12846
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
DLLExport modelica_metatype omc_ExpressionSimplify_simplify(threadData_t *threadData, modelica_metatype _inExp, modelica_boolean *out_hasChanged)
Here is the call graph for this function:

◆ omc_DAEUtil_evaluateExp()

DLLExport modelica_metatype omc_DAEUtil_evaluateExp ( threadData_t threadData,
modelica_metatype  _iexp,
modelica_metatype  _iels 
)

Definition at line 1539 of file DAEUtil.c.

1540 {
1541  jmp_buf *old_mmc_jumper = threadData->mmc_jumper;
1542  modelica_metatype _oexp = NULL;
1543  modelica_metatype _e = NULL;
1544  modelica_metatype _ee = NULL;
1545  modelica_metatype _crefs = NULL;
1546  modelica_metatype _oexps = NULL;
1547  modelica_metatype _o = NULL;
1548  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
1549  MMC_SO();
1550  _tailrecursive: OMC_LABEL_UNUSED
1551  _oexp = mmc_mk_none();
1552 #line 6368 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1553  if(omc_Expression_isConst(threadData, _iexp))
1554 #line 6368 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1555  {
1556 #line 6369 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1557  _oexp = mmc_mk_some(_iexp);
1558 #line 1558 OMC_FILE
1559 
1560 #line 6370 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1561  goto _return;
1562 #line 1562 OMC_FILE
1563  }
1564 
1565 #line 1565 OMC_FILE
1566  { /* matchcontinue expression */
1567  {
1568  volatile mmc_switch_type tmp3;
1569  int tmp4;
1570  tmp3 = 0;
1571  MMC_TRY_INTERNAL(mmc_jumper)
1572  tmp2_top:
1573  threadData->mmc_jumper = &new_mmc_jumper;
1574  for (; tmp3 < 2; tmp3++) {
1575  switch (MMC_SWITCH_CAST(tmp3)) {
1576  case 0: {
1577  /* Pattern matching succeeded */
1578 #line 6375 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1579  _e = _iexp;
1580 #line 1580 OMC_FILE
1581 
1582 #line 6376 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1583  _crefs = omc_Expression_getAllCrefs(threadData, _e);
1584 #line 1584 OMC_FILE
1585 
1586 #line 6377 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1587  _oexps = omc_List_map1(threadData, _crefs, boxvar_DAEUtil_evaluateCref, _iels);
1588 #line 1588 OMC_FILE
1589 
1590 #line 6378 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1591  {
1592 #line 6378 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1593  modelica_metatype _c;
1594 #line 6378 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1595  for (tmpMeta[0] = _crefs; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
1596 #line 6378 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1597  {
1598 #line 6378 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1599  _c = MMC_CAR(tmpMeta[0]);
1600 #line 6379 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1601  /* Pattern-matching assignment */
1602 #line 6379 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1603  tmpMeta[1] = _oexps;
1604 #line 6379 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1605  if (listEmpty(tmpMeta[1])) goto goto_1;
1606 #line 6379 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1607  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
1608 #line 6379 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1609  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
1610 #line 6379 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1611  if (optionNone(tmpMeta[2])) goto goto_1;
1612 #line 6379 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1613  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
1614 #line 6379 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1615  _ee = tmpMeta[4];
1616 #line 6379 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1617  _oexps = tmpMeta[3];
1618 #line 1618 OMC_FILE
1619 
1620 #line 6380 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1621  _e = omc_Expression_replaceCrefBottomUp(threadData, _e, _c, _ee);
1622 #line 1622 OMC_FILE
1623 
1624 #line 6381 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1625  _e = omc_ExpressionSimplify_simplify(threadData, _e, NULL);
1626 #line 1626 OMC_FILE
1627  }
1628  }
1629 
1630 #line 6383 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1631  _oexp = mmc_mk_some(_e);
1632 #line 1632 OMC_FILE
1633 #line 1633 OMC_FILE
1634  goto tmp2_done;
1635  }
1636  case 1: {
1637  /* Pattern matching succeeded */
1638 #line 6385 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1639  _oexp = mmc_mk_none();
1640 #line 1640 OMC_FILE
1641 #line 1641 OMC_FILE
1642  goto tmp2_done;
1643  }
1644  }
1645  goto tmp2_end;
1646  tmp2_end: ;
1647  }
1648  goto goto_1;
1649  tmp2_done:
1650  (void)tmp3;
1651  MMC_RESTORE_INTERNAL(mmc_jumper);
1652  goto tmp2_done2;
1653  goto_1:;
1654  MMC_CATCH_INTERNAL(mmc_jumper);
1655  if (++tmp3 < 2) {
1656  goto tmp2_top;
1657  }
1658  MMC_THROW_INTERNAL();
1659  tmp2_done2:;
1660  }
1661  }
1662  ;
1663  _return: OMC_LABEL_UNUSED
1664  threadData->mmc_jumper = old_mmc_jumper;
1665  return _oexp;
1666 }
DLLExport modelica_metatype omc_Expression_getAllCrefs(threadData_t *threadData, modelica_metatype _inExp)
Definition: Expression.c:44476
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
float mmc_switch_type
DLLExport modelica_metatype omc_Expression_replaceCrefBottomUp(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inSourceExp, modelica_metatype _inTargetExp)
Definition: Expression.c:35949
void * modelica_metatype
DLLExport modelica_boolean omc_Expression_isConst(threadData_t *threadData, modelica_metatype _inExp)
Definition: Expression.c:24712
DLLExport modelica_metatype omc_List_map1(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inMapFunc, modelica_metatype _inArg1)
Definition: List.c:12846
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
DLLExport modelica_metatype omc_ExpressionSimplify_simplify(threadData_t *threadData, modelica_metatype _inExp, modelica_boolean *out_hasChanged)
Here is the call graph for this function:

◆ omc_DAEUtil_evaluateParameter()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateParameter ( threadData_t threadData,
modelica_metatype  _inExp,
modelica_metatype  _inPV 
)

Definition at line 12646 of file DAEUtil.c.

12647 {
12648  modelica_metatype _outExp = NULL;
12649  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
12650  MMC_SO();
12651  _tailrecursive: OMC_LABEL_UNUSED
12652 #line 12652 OMC_FILE
12653  { /* matchcontinue expression */
12654  volatile modelica_metatype tmp3_1;volatile modelica_metatype tmp3_2;
12655  tmp3_1 = _inExp;
12656  tmp3_2 = _inPV;
12657  {
12658  modelica_metatype _pv = NULL;
12659  modelica_metatype _e = NULL;
12660  modelica_metatype _e1 = NULL;
12661  modelica_integer _i;
12662  volatile mmc_switch_type tmp3;
12663  int tmp4;
12664  tmp3 = 0;
12665  MMC_TRY_INTERNAL(mmc_jumper)
12666  tmp2_top:
12667  threadData->mmc_jumper = &new_mmc_jumper;
12668  for (; tmp3 < 3; tmp3++) {
12669  switch (MMC_SWITCH_CAST(tmp3)) {
12670  case 0: {
12671  modelica_boolean tmp5;
12672 
12673  _e = tmp3_1;
12674  /* Pattern matching succeeded */
12675 #line 3486 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12676  /* Pattern-matching assignment */
12677 #line 3486 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12678  tmp5 = omc_Expression_isConst(threadData, _e);
12679 #line 3486 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12680  if (1 != tmp5) goto goto_1;
12681 #line 12681 OMC_FILE
12682 #line 3487 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12683  tmpMeta[0] = _e;
12684 #line 12684 OMC_FILE
12685  goto tmp2_done;
12686  }
12687  case 1: {
12688  modelica_boolean tmp6;
12689 
12690  _e = tmp3_1;
12691  /* Pattern matching succeeded */
12692 #line 3490 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12693  /* Pattern-matching assignment */
12694 #line 3490 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12695  tmp6 = omc_Expression_expHasCrefs(threadData, _e);
12696 #line 3490 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12697  if (0 != tmp6) goto goto_1;
12698 #line 12698 OMC_FILE
12699 #line 3491 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12700  tmpMeta[0] = _e;
12701 #line 12701 OMC_FILE
12702  goto tmp2_done;
12703  }
12704  case 2: {
12705  modelica_integer tmp7;
12706  modelica_boolean tmp8;
12707 
12708  _e = tmp3_1;
12709  _pv = tmp3_2;
12710  /* Pattern matching succeeded */
12711 #line 3494 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12712  /* Pattern-matching tuple assignment */
12713 #line 3494 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12714  tmpMeta[3] = mmc_mk_box3(0, _pv, mmc_mk_integer(((modelica_integer) 0)), mmc_mk_integer(((modelica_integer) 0)));
12715 #line 3494 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12716  tmpMeta[4] = omc_Expression_traverseExpBottomUp(threadData, _e, boxvar_DAEUtil_evaluateAnnotationTraverse, tmpMeta[3], &tmpMeta[1]);
12717 #line 3494 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12718  _e1 = tmpMeta[4];
12719 #line 3494 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12720  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
12721 #line 3494 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12722  tmp7 = mmc_unbox_integer(tmpMeta[2]);
12723 #line 3494 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12724  _i = tmp7 /* pattern as ty=Integer */;
12725 #line 12725 OMC_FILE
12726 
12727 #line 3495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12728  /* Pattern-matching assignment */
12729 #line 3495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12730  tmp8 = ((modelica_integer)_i == ((modelica_integer) 0));
12731 #line 3495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12732  if (1 != tmp8) goto goto_1;
12733 #line 12733 OMC_FILE
12734 #line 3496 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12735  tmpMeta[0] = omc_DAEUtil_evaluateParameter(threadData, _e1, _pv);
12736 #line 12736 OMC_FILE
12737  goto tmp2_done;
12738  }
12739  }
12740  goto tmp2_end;
12741  tmp2_end: ;
12742  }
12743  goto goto_1;
12744  tmp2_done:
12745  (void)tmp3;
12746  MMC_RESTORE_INTERNAL(mmc_jumper);
12747  goto tmp2_done2;
12748  goto_1:;
12749  MMC_CATCH_INTERNAL(mmc_jumper);
12750  if (++tmp3 < 3) {
12751  goto tmp2_top;
12752  }
12753  MMC_THROW_INTERNAL();
12754  tmp2_done2:;
12755  }
12756  }
12757  _outExp = tmpMeta[0];
12758  _return: OMC_LABEL_UNUSED
12759  return _outExp;
12760 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
m_integer modelica_integer
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_metatype omc_Expression_traverseExpBottomUp(threadData_t *threadData, modelica_metatype _inExp, modelica_fnptr _inFunc, modelica_metatype _inExtArg, modelica_metatype *out_outExtArg)
Definition: Expression.c:34297
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_evaluateParameter(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inPV)
Definition: DAEUtil.c:12646
void * modelica_metatype
DLLExport modelica_boolean omc_Expression_expHasCrefs(threadData_t *threadData, modelica_metatype _inExp)
Definition: Expression.c:30782
DLLExport modelica_boolean omc_Expression_isConst(threadData_t *threadData, modelica_metatype _inExp)
Definition: Expression.c:24712
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_expTypeArray()

DLLExport modelica_boolean omc_DAEUtil_expTypeArray ( threadData_t threadData,
modelica_metatype  _tp 
)

Definition at line 25895 of file DAEUtil.c.

25896 {
25897  modelica_boolean _isArray;
25898  modelica_boolean tmp1 = 0;
25899  MMC_SO();
25900  _tailrecursive: OMC_LABEL_UNUSED
25901 #line 25901 OMC_FILE
25902  { /* match expression */
25903  modelica_metatype tmp4_1;
25904  tmp4_1 = _tp;
25905  {
25906  volatile mmc_switch_type tmp4;
25907  int tmp5;
25908  tmp4 = 0;
25909  for (; tmp4 < 2; tmp4++) {
25910  switch (MMC_SWITCH_CAST(tmp4)) {
25911  case 0: {
25912  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2) == 0) goto tmp3_end;
25913 
25914  /* Pattern matching succeeded */
25915 #line 210 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25916  tmp1 = 1;
25917 #line 25917 OMC_FILE
25918  goto tmp3_done;
25919  }
25920  case 1: {
25921 
25922  /* Pattern matching succeeded */
25923 #line 211 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25924  tmp1 = 0;
25925 #line 25925 OMC_FILE
25926  goto tmp3_done;
25927  }
25928  }
25929  goto tmp3_end;
25930  tmp3_end: ;
25931  }
25932  goto goto_2;
25933  goto_2:;
25934  MMC_THROW_INTERNAL();
25935  goto tmp3_done;
25936  tmp3_done:;
25937  }
25938  }
25939  _isArray = tmp1;
25940  _return: OMC_LABEL_UNUSED
25941  return _isArray;
25942 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_expTypeArrayDimensions()

DLLExport modelica_metatype omc_DAEUtil_expTypeArrayDimensions ( threadData_t threadData,
modelica_metatype  _tp 
)

Definition at line 25793 of file DAEUtil.c.

25794 {
25795  modelica_metatype _dims = NULL;
25796  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
25797  MMC_SO();
25798  _tailrecursive: OMC_LABEL_UNUSED
25799 #line 25799 OMC_FILE
25800  { /* match expression */
25801  modelica_metatype tmp3_1;
25802  tmp3_1 = _tp;
25803  {
25804  modelica_metatype _array_dims = NULL;
25805  volatile mmc_switch_type tmp3;
25806  int tmp4;
25807  tmp3 = 0;
25808  for (; tmp3 < 1; tmp3++) {
25809  switch (MMC_SWITCH_CAST(tmp3)) {
25810  case 0: {
25811  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,6,2) == 0) goto tmp2_end;
25812  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
25813  _array_dims = tmpMeta[1];
25814  /* Pattern matching succeeded */
25815 #line 233 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25816  tmpMeta[0] = omc_List_map(threadData, _array_dims, boxvar_Expression_dimensionSize);
25817 #line 25817 OMC_FILE
25818  goto tmp2_done;
25819  }
25820  }
25821  goto tmp2_end;
25822  tmp2_end: ;
25823  }
25824  goto goto_1;
25825  goto_1:;
25826  MMC_THROW_INTERNAL();
25827  goto tmp2_done;
25828  tmp2_done:;
25829  }
25830  }
25831  _dims = tmpMeta[0];
25832  _return: OMC_LABEL_UNUSED
25833  return _dims;
25834 }
float mmc_switch_type
DLLExport modelica_metatype omc_List_map(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc)
Definition: List.c:13453
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_expTypeComplex()

DLLExport modelica_boolean omc_DAEUtil_expTypeComplex ( threadData_t threadData,
modelica_metatype  _tp 
)

Definition at line 25953 of file DAEUtil.c.

25954 {
25955  modelica_boolean _isComplex;
25956  modelica_boolean tmp1 = 0;
25957  MMC_SO();
25958  _tailrecursive: OMC_LABEL_UNUSED
25959 #line 25959 OMC_FILE
25960  { /* match expression */
25961  modelica_metatype tmp4_1;
25962  tmp4_1 = _tp;
25963  {
25964  volatile mmc_switch_type tmp4;
25965  int tmp5;
25966  tmp4 = 0;
25967  for (; tmp4 < 2; tmp4++) {
25968  switch (MMC_SWITCH_CAST(tmp4)) {
25969  case 0: {
25970  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,9,3) == 0) goto tmp3_end;
25971 
25972  /* Pattern matching succeeded */
25973 #line 199 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25974  tmp1 = 1;
25975 #line 25975 OMC_FILE
25976  goto tmp3_done;
25977  }
25978  case 1: {
25979 
25980  /* Pattern matching succeeded */
25981 #line 200 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25982  tmp1 = 0;
25983 #line 25983 OMC_FILE
25984  goto tmp3_done;
25985  }
25986  }
25987  goto tmp3_end;
25988  tmp3_end: ;
25989  }
25990  goto goto_2;
25991  goto_2:;
25992  MMC_THROW_INTERNAL();
25993  goto tmp3_done;
25994  tmp3_done:;
25995  }
25996  }
25997  _isComplex = tmp1;
25998  _return: OMC_LABEL_UNUSED
25999  return _isComplex;
26000 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_expTypeElementType()

DLLExport modelica_metatype omc_DAEUtil_expTypeElementType ( threadData_t threadData,
modelica_metatype  _tp 
)

Definition at line 26011 of file DAEUtil.c.

26012 {
26013  modelica_metatype _eltTp = NULL;
26014  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
26015  MMC_SO();
26016  _tailrecursive: OMC_LABEL_UNUSED
26017 #line 26017 OMC_FILE
26018  { /* match expression */
26019  modelica_metatype tmp3_1;
26020  tmp3_1 = _tp;
26021  {
26022  modelica_metatype _ty = NULL;
26023  volatile mmc_switch_type tmp3;
26024  int tmp4;
26025  tmp3 = 0;
26026  for (; tmp3 < 2; tmp3++) {
26027  switch (MMC_SWITCH_CAST(tmp3)) {
26028  case 0: {
26029  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,6,2) == 0) goto tmp2_end;
26030  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
26031 
26032  _ty = tmpMeta[1];
26033  /* Pattern matching succeeded */
26034 #line 189 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26035  /* Tail recursive call */
26036 #line 189 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26037  _tp = _ty;
26038 #line 189 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26039  goto _tailrecursive;
26040 #line 189 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26041  /* TODO: Make sure any eventual dead code below is never generated */
26042 #line 26042 OMC_FILE
26043  goto tmp2_done;
26044  }
26045  case 1: {
26046 
26047  /* Pattern matching succeeded */
26048 #line 190 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26049  tmpMeta[0] = _tp;
26050 #line 26050 OMC_FILE
26051  goto tmp2_done;
26052  }
26053  }
26054  goto tmp2_end;
26055  tmp2_end: ;
26056  }
26057  goto goto_1;
26058  goto_1:;
26059  MMC_THROW_INTERNAL();
26060  goto tmp2_done;
26061  tmp2_done:;
26062  }
26063  }
26064  _eltTp = tmpMeta[0];
26065  _return: OMC_LABEL_UNUSED
26066  return _eltTp;
26067 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_expTypeSimple()

DLLExport modelica_boolean omc_DAEUtil_expTypeSimple ( threadData_t threadData,
modelica_metatype  _tp 
)

Definition at line 26070 of file DAEUtil.c.

26071 {
26072  modelica_boolean _isSimple;
26073  modelica_boolean tmp1 = 0;
26074  MMC_SO();
26075  _tailrecursive: OMC_LABEL_UNUSED
26076 #line 26076 OMC_FILE
26077  { /* match expression */
26078  modelica_metatype tmp4_1;
26079  tmp4_1 = _tp;
26080  {
26081  int tmp4;
26082  {
26083  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
26084  case 4: {
26085 
26086  /* Pattern matching succeeded */
26087 #line 171 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26088  tmp1 = 1;
26089 #line 26089 OMC_FILE
26090  goto tmp3_done;
26091  }
26092  case 3: {
26093 
26094  /* Pattern matching succeeded */
26095 #line 172 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26096  tmp1 = 1;
26097 #line 26097 OMC_FILE
26098  goto tmp3_done;
26099  }
26100  case 5: {
26101 
26102  /* Pattern matching succeeded */
26103 #line 173 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26104  tmp1 = 1;
26105 #line 26105 OMC_FILE
26106  goto tmp3_done;
26107  }
26108  case 6: {
26109 
26110  /* Pattern matching succeeded */
26111 #line 174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26112  tmp1 = 1;
26113 #line 26113 OMC_FILE
26114  goto tmp3_done;
26115  }
26116  case 7: {
26117 
26118  /* Pattern matching succeeded */
26119 #line 176 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26120  tmp1 = 1;
26121 #line 26121 OMC_FILE
26122  goto tmp3_done;
26123  }
26124  case 8: {
26125 
26126  /* Pattern matching succeeded */
26127 #line 177 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26128  tmp1 = 1;
26129 #line 26129 OMC_FILE
26130  goto tmp3_done;
26131  }
26132  default:
26133  tmp3_default: OMC_LABEL_UNUSED; {
26134 
26135  /* Pattern matching succeeded */
26136 #line 178 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26137  tmp1 = 0;
26138 #line 26138 OMC_FILE
26139  goto tmp3_done;
26140  }
26141  }
26142  goto tmp3_end;
26143  tmp3_end: ;
26144  }
26145  goto goto_2;
26146  goto_2:;
26147  MMC_THROW_INTERNAL();
26148  goto tmp3_done;
26149  tmp3_done:;
26150  }
26151  }
26152  _isSimple = tmp1;
26153  _return: OMC_LABEL_UNUSED
26154  return _isSimple;
26155 }
signed char modelica_boolean
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_expTypeTuple()

DLLExport modelica_boolean omc_DAEUtil_expTypeTuple ( threadData_t threadData,
modelica_metatype  _tp 
)

Definition at line 25837 of file DAEUtil.c.

25838 {
25839  modelica_boolean _isTuple;
25840  modelica_boolean tmp1 = 0;
25841  MMC_SO();
25842  _tailrecursive: OMC_LABEL_UNUSED
25843 #line 25843 OMC_FILE
25844  { /* match expression */
25845  modelica_metatype tmp4_1;
25846  tmp4_1 = _tp;
25847  {
25848  volatile mmc_switch_type tmp4;
25849  int tmp5;
25850  tmp4 = 0;
25851  for (; tmp4 < 2; tmp4++) {
25852  switch (MMC_SWITCH_CAST(tmp4)) {
25853  case 0: {
25854  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,14,2) == 0) goto tmp3_end;
25855 
25856  /* Pattern matching succeeded */
25857 #line 221 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25858  tmp1 = 1;
25859 #line 25859 OMC_FILE
25860  goto tmp3_done;
25861  }
25862  case 1: {
25863 
25864  /* Pattern matching succeeded */
25865 #line 222 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25866  tmp1 = 0;
25867 #line 25867 OMC_FILE
25868  goto tmp3_done;
25869  }
25870  }
25871  goto tmp3_end;
25872  tmp3_end: ;
25873  }
25874  goto goto_2;
25875  goto_2:;
25876  MMC_THROW_INTERNAL();
25877  goto tmp3_done;
25878  tmp3_done:;
25879  }
25880  }
25881  _isTuple = tmp1;
25882  _return: OMC_LABEL_UNUSED
25883  return _isTuple;
25884 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_findAllMatchingElements()

DLLExport modelica_metatype omc_DAEUtil_findAllMatchingElements ( threadData_t threadData,
modelica_metatype  _dae,
modelica_fnptr  _cond1,
modelica_fnptr  _cond2,
modelica_metatype out_secondList 
)

Definition at line 20522 of file DAEUtil.c.

20523 {
20524  modelica_metatype _firstList = NULL;
20525  modelica_metatype _secondList = NULL;
20526  modelica_metatype _elements = NULL;
20527  modelica_metatype _el1 = NULL;
20528  modelica_metatype _el2 = NULL;
20529  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
20530  MMC_SO();
20531  _tailrecursive: OMC_LABEL_UNUSED
20532 #line 1446 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20533  /* Pattern-matching assignment */
20534 #line 1446 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20535  tmpMeta[0] = _dae;
20536 #line 1446 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20537  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
20538 #line 1446 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20539  _elements = tmpMeta[1];
20540 #line 20540 OMC_FILE
20541 
20542 #line 1447 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20543  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
20544 #line 1447 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20545  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
20546 #line 1447 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20547  _el1 = omc_DAEUtil_findAllMatchingElements2(threadData, _elements, ((modelica_fnptr) _cond1), ((modelica_fnptr) _cond2), tmpMeta[0], tmpMeta[1] ,&_el2);
20548 #line 20548 OMC_FILE
20549 
20550 #line 1448 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20551  tmpMeta[0] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, listReverseInPlace(_el1));
20552 #line 1448 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20553  _firstList = tmpMeta[0];
20554 #line 20554 OMC_FILE
20555 
20556 #line 1449 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20557  tmpMeta[0] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, listReverseInPlace(_el2));
20558 #line 1449 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20559  _secondList = tmpMeta[0];
20560 #line 20560 OMC_FILE
20561  _return: OMC_LABEL_UNUSED
20562  if (out_secondList) { *out_secondList = _secondList; }
20563  return _firstList;
20564 }
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_findAllMatchingElements2(threadData_t *threadData, modelica_metatype _elements, modelica_fnptr _cond1, modelica_fnptr _cond2, modelica_metatype _accumFirst, modelica_metatype _accumSecond, modelica_metatype *out_secondList)
Definition: DAEUtil.c:20436
void * modelica_fnptr
void * modelica_metatype
modelica_metatype listReverseInPlace(modelica_metatype)
struct record_description DAE_DAElist_DAE__desc
Definition: DAE_records.c:2591
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_findAllMatchingElements2()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_findAllMatchingElements2 ( threadData_t threadData,
modelica_metatype  _elements,
modelica_fnptr  _cond1,
modelica_fnptr  _cond2,
modelica_metatype  _accumFirst,
modelica_metatype  _accumSecond,
modelica_metatype out_secondList 
)

Definition at line 20436 of file DAEUtil.c.

20437 {
20438  modelica_metatype _firstList = NULL;
20439  modelica_metatype _secondList = NULL;
20440  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
20441  MMC_SO();
20442  _tailrecursive: OMC_LABEL_UNUSED
20443  _firstList = _accumFirst;
20444  _secondList = _accumSecond;
20445 #line 1466 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20446  {
20447 #line 1466 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20448  modelica_metatype _e;
20449 #line 1466 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20450  for (tmpMeta[0] = _elements; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
20451 #line 1466 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20452  {
20453 #line 1466 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20454  _e = MMC_CAR(tmpMeta[0]);
20455 #line 20455 OMC_FILE
20456  { /* match expression */
20457  modelica_metatype tmp3_1;
20458  tmp3_1 = _e;
20459  {
20460  volatile mmc_switch_type tmp3;
20461  int tmp4;
20462  tmp3 = 0;
20463  for (; tmp3 < 2; tmp3++) {
20464  switch (MMC_SWITCH_CAST(tmp3)) {
20465  case 0: {
20466  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,17,4) == 0) goto tmp2_end;
20467 
20468  /* Pattern matching succeeded */
20469 #line 1470 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20470  _firstList = omc_DAEUtil_findAllMatchingElements2(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_e), 3))), ((modelica_fnptr) _cond1), ((modelica_fnptr) _cond2), _firstList, _secondList ,&_secondList);
20471 #line 20471 OMC_FILE
20472 #line 20472 OMC_FILE
20473  goto tmp2_done;
20474  }
20475  case 1: {
20476 
20477  /* Pattern matching succeeded */
20478 #line 1477 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20479  if(mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cond1), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cond1), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cond1), 2))), _e) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cond1), 1)))) (threadData, _e)))
20480 #line 1477 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20481  {
20482 #line 1478 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20483  tmpMeta[1] = mmc_mk_cons(_e, _firstList);
20484 #line 1478 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20485  _firstList = tmpMeta[1];
20486 #line 20486 OMC_FILE
20487  }
20488 
20489 #line 1481 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20490  if(mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cond2), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cond2), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cond2), 2))), _e) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cond2), 1)))) (threadData, _e)))
20491 #line 1481 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20492  {
20493 #line 1482 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20494  tmpMeta[1] = mmc_mk_cons(_e, _secondList);
20495 #line 1482 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20496  _secondList = tmpMeta[1];
20497 #line 20497 OMC_FILE
20498  }
20499 #line 20499 OMC_FILE
20500  goto tmp2_done;
20501  }
20502  }
20503  goto tmp2_end;
20504  tmp2_end: ;
20505  }
20506  goto goto_1;
20507  goto_1:;
20508  MMC_THROW_INTERNAL();
20509  goto tmp2_done;
20510  tmp2_done:;
20511  }
20512  }
20513  ;
20514  }
20515  }
20516  _return: OMC_LABEL_UNUSED
20517  if (out_secondList) { *out_secondList = _secondList; }
20518  return _firstList;
20519 }
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_findAllMatchingElements2(threadData_t *threadData, modelica_metatype _elements, modelica_fnptr _cond1, modelica_fnptr _cond2, modelica_metatype _accumFirst, modelica_metatype _accumSecond, modelica_metatype *out_secondList)
Definition: DAEUtil.c:20436
float mmc_switch_type
void * modelica_fnptr
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the caller graph for this function:

◆ omc_DAEUtil_findElement()

DLLExport modelica_metatype omc_DAEUtil_findElement ( threadData_t threadData,
modelica_metatype  _inElementLst,
modelica_fnptr  _inFuncTypeElementTo 
)

Definition at line 18495 of file DAEUtil.c.

18496 {
18497  modelica_metatype _outElementOption = NULL;
18498  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
18499  MMC_SO();
18500  _tailrecursive: OMC_LABEL_UNUSED
18501 #line 18501 OMC_FILE
18502  { /* match expression */
18503  modelica_metatype tmp3_1;modelica_fnptr tmp3_2;
18504  tmp3_1 = _inElementLst;
18505  tmp3_2 = ((modelica_fnptr) _inFuncTypeElementTo);
18506  {
18507  modelica_metatype _e = NULL;
18508  modelica_metatype _rest = NULL;
18509  modelica_fnptr _f;
18510  volatile mmc_switch_type tmp3;
18511  int tmp4;
18512  tmp3 = 0;
18513  for (; tmp3 < 2; tmp3++) {
18514  switch (MMC_SWITCH_CAST(tmp3)) {
18515  case 0: {
18516  if (!listEmpty(tmp3_1)) goto tmp2_end;
18517 
18518  /* Pattern matching succeeded */
18519 #line 1904 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18520  tmpMeta[0] = mmc_mk_none();
18521 #line 18521 OMC_FILE
18522  goto tmp2_done;
18523  }
18524  case 1: {
18525  if (listEmpty(tmp3_1)) goto tmp2_end;
18526  tmpMeta[1] = MMC_CAR(tmp3_1);
18527  tmpMeta[2] = MMC_CDR(tmp3_1);
18528 
18529  _e = tmpMeta[1];
18530  _rest = tmpMeta[2];
18531  _f = tmp3_2;
18532  /* Pattern matching succeeded */
18533 #line 18533 OMC_FILE
18534  { /* matchcontinue expression */
18535  {
18536  volatile mmc_switch_type tmp7;
18537  int tmp8;
18538  tmp7 = 0;
18539  MMC_TRY_INTERNAL(mmc_jumper)
18540  tmp6_top:
18541  threadData->mmc_jumper = &new_mmc_jumper;
18542  for (; tmp7 < 2; tmp7++) {
18543  switch (MMC_SWITCH_CAST(tmp7)) {
18544  case 0: {
18545  /* Pattern matching succeeded */
18546 #line 1911 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18547  (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_f), 2))) ? ((void(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_f), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_f), 2))), _e) : ((void(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_f), 1)))) (threadData, _e);
18548 #line 18548 OMC_FILE
18549 #line 1912 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18550  tmpMeta[1] = mmc_mk_some(_e);
18551 #line 18551 OMC_FILE
18552  goto tmp6_done;
18553  }
18554  case 1: {
18555  modelica_boolean tmp9;
18556  /* Pattern matching succeeded */
18557 #line 1915 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18558  tmp9 = 0; /* begin failure */
18559 #line 1915 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18560  MMC_TRY_INTERNAL(mmc_jumper)
18561 #line 1915 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18562  (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_f), 2))) ? ((void(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_f), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_f), 2))), _e) : ((void(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_f), 1)))) (threadData, _e);
18563 #line 18563 OMC_FILE
18564  tmp9 = 1;
18565  goto goto_10;
18566  goto_10:;
18567  MMC_CATCH_INTERNAL(mmc_jumper)
18568  if (tmp9) {goto goto_5;} /* end failure */
18569 #line 1916 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18570  tmpMeta[1] = omc_DAEUtil_findElement(threadData, _rest, ((modelica_fnptr) _f));
18571 #line 18571 OMC_FILE
18572  goto tmp6_done;
18573  }
18574  }
18575  goto tmp6_end;
18576  tmp6_end: ;
18577  }
18578  goto goto_5;
18579  tmp6_done:
18580  (void)tmp7;
18581  MMC_RESTORE_INTERNAL(mmc_jumper);
18582  goto tmp6_done2;
18583  goto_5:;
18584  MMC_CATCH_INTERNAL(mmc_jumper);
18585  if (++tmp7 < 2) {
18586  goto tmp6_top;
18587  }
18588  goto goto_1;
18589  tmp6_done2:;
18590  }
18591  }tmpMeta[0] = tmpMeta[1];
18592  goto tmp2_done;
18593  }
18594  }
18595  goto tmp2_end;
18596  tmp2_end: ;
18597  }
18598  goto goto_1;
18599  goto_1:;
18600  MMC_THROW_INTERNAL();
18601  goto tmp2_done;
18602  tmp2_done:;
18603  }
18604  }
18605  _outElementOption = tmpMeta[0];
18606  _return: OMC_LABEL_UNUSED
18607  return _outElementOption;
18608 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
DLLExport modelica_metatype omc_DAEUtil_findElement(threadData_t *threadData, modelica_metatype _inElementLst, modelica_fnptr _inFuncTypeElementTo)
Definition: DAEUtil.c:18495
signed char modelica_boolean
float mmc_switch_type
void * modelica_fnptr
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:

◆ omc_DAEUtil_funcArgDim()

DLLExport modelica_integer omc_DAEUtil_funcArgDim ( threadData_t threadData,
modelica_metatype  _argIn 
)

Definition at line 2541 of file DAEUtil.c.

2542 {
2543  modelica_integer _dim;
2544  modelica_integer tmp1 = 0;
2545  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
2546  MMC_SO();
2547  _tailrecursive: OMC_LABEL_UNUSED
2548 #line 2548 OMC_FILE
2549  { /* match expression */
2550  modelica_metatype tmp4_1;
2551  tmp4_1 = _argIn;
2552  {
2553  modelica_metatype _arrayDims = NULL;
2554  modelica_metatype _names = NULL;
2555  volatile mmc_switch_type tmp4;
2556  int tmp5;
2557  tmp4 = 0;
2558  for (; tmp4 < 3; tmp4++) {
2559  switch (MMC_SWITCH_CAST(tmp4)) {
2560  case 0: {
2561  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
2562  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],6,2) == 0) goto tmp3_end;
2563  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
2564 
2565  _arrayDims = tmpMeta[1];
2566  /* Pattern matching succeeded */
2567 #line 6110 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2568  tmp1 = mmc_unbox_integer(omc_List_applyAndFold(threadData, _arrayDims, boxvar_intAdd, boxvar_Expression_dimensionSize, mmc_mk_integer(((modelica_integer) 0))));
2569 #line 2569 OMC_FILE
2570  goto tmp3_done;
2571  }
2572  case 1: {
2573  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
2574  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],5,5) == 0) goto tmp3_end;
2575  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
2576 
2577  _names = tmpMeta[1];
2578  /* Pattern matching succeeded */
2579 #line 6113 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2580  tmp1 = listLength(_names);
2581 #line 2581 OMC_FILE
2582  goto tmp3_done;
2583  }
2584  case 2: {
2585 
2586  /* Pattern matching succeeded */
2587 #line 6115 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2588  tmp1 = ((modelica_integer) 1);
2589 #line 2589 OMC_FILE
2590  goto tmp3_done;
2591  }
2592  }
2593  goto tmp3_end;
2594  tmp3_end: ;
2595  }
2596  goto goto_2;
2597  goto_2:;
2598  MMC_THROW_INTERNAL();
2599  goto tmp3_done;
2600  tmp3_done:;
2601  }
2602  }
2603  _dim = tmp1;
2604  _return: OMC_LABEL_UNUSED
2605  return _dim;
2606 }
m_integer modelica_integer
float mmc_switch_type
void * modelica_metatype
modelica_integer listLength(modelica_metatype)
DLLExport modelica_metatype omc_List_applyAndFold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFoldFunc, modelica_fnptr _inApplyFunc, modelica_metatype _inFoldArg)
Definition: List.c:10710
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_funcIsRecord()

DLLExport modelica_boolean omc_DAEUtil_funcIsRecord ( threadData_t threadData,
modelica_metatype  _func 
)

Definition at line 2617 of file DAEUtil.c.

2618 {
2619  modelica_boolean _isRec;
2620  modelica_boolean tmp1 = 0;
2621  MMC_SO();
2622  _tailrecursive: OMC_LABEL_UNUSED
2623 #line 2623 OMC_FILE
2624  { /* match expression */
2625  modelica_metatype tmp4_1;
2626  tmp4_1 = _func;
2627  {
2628  volatile mmc_switch_type tmp4;
2629  int tmp5;
2630  tmp4 = 0;
2631  for (; tmp4 < 2; tmp4++) {
2632  switch (MMC_SWITCH_CAST(tmp4)) {
2633  case 0: {
2634  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,3) == 0) goto tmp3_end;
2635 
2636  /* Pattern matching succeeded */
2637 #line 6093 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2638  tmp1 = 1;
2639 #line 2639 OMC_FILE
2640  goto tmp3_done;
2641  }
2642  case 1: {
2643 
2644  /* Pattern matching succeeded */
2645 #line 6095 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2646  tmp1 = 0;
2647 #line 2647 OMC_FILE
2648  goto tmp3_done;
2649  }
2650  }
2651  goto tmp3_end;
2652  tmp3_end: ;
2653  }
2654  goto goto_2;
2655  goto_2:;
2656  MMC_THROW_INTERNAL();
2657  goto tmp3_done;
2658  tmp3_done:;
2659  }
2660  }
2661  _isRec = tmp1;
2662  _return: OMC_LABEL_UNUSED
2663  return _isRec;
2664 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_functionName()

DLLExport modelica_metatype omc_DAEUtil_functionName ( threadData_t threadData,
modelica_metatype  _elt 
)

Definition at line 6019 of file DAEUtil.c.

6020 {
6021  modelica_metatype _name = NULL;
6022  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
6023  MMC_SO();
6024  _tailrecursive: OMC_LABEL_UNUSED
6025 #line 6025 OMC_FILE
6026  { /* match expression */
6027  modelica_metatype tmp3_1;
6028  tmp3_1 = _elt;
6029  {
6030  volatile mmc_switch_type tmp3;
6031  int tmp4;
6032  tmp3 = 0;
6033  for (; tmp3 < 2; tmp3++) {
6034  switch (MMC_SWITCH_CAST(tmp3)) {
6035  case 0: {
6036  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,9) == 0) goto tmp2_end;
6037  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
6038 
6039  _name = tmpMeta[1];
6040  /* Pattern matching succeeded */
6041 #line 5062 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6042  tmpMeta[0] = _name;
6043 #line 6043 OMC_FILE
6044  goto tmp2_done;
6045  }
6046  case 1: {
6047  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,3) == 0) goto tmp2_end;
6048  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
6049 
6050  _name = tmpMeta[1];
6051  /* Pattern matching succeeded */
6052 #line 5063 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6053  tmpMeta[0] = _name;
6054 #line 6054 OMC_FILE
6055  goto tmp2_done;
6056  }
6057  }
6058  goto tmp2_end;
6059  tmp2_end: ;
6060  }
6061  goto goto_1;
6062  goto_1:;
6063  MMC_THROW_INTERNAL();
6064  goto tmp2_done;
6065  tmp2_done:;
6066  }
6067  }
6068  _name = tmpMeta[0];
6069  _return: OMC_LABEL_UNUSED
6070  return _name;
6071 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getAllExpandableCrefsFromDAE()

DLLExport modelica_metatype omc_DAEUtil_getAllExpandableCrefsFromDAE ( threadData_t threadData,
modelica_metatype  _inDAE 
)

Definition at line 2838 of file DAEUtil.c.

2839 {
2840  modelica_metatype _outCrefs = NULL;
2841  modelica_metatype _elts = NULL;
2842  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
2843  MMC_SO();
2844  _tailrecursive: OMC_LABEL_UNUSED
2845 #line 6043 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2846  /* Pattern-matching assignment */
2847 #line 6043 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2848  tmpMeta[0] = _inDAE;
2849 #line 6043 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2850  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
2851 #line 6043 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2852  _elts = tmpMeta[1];
2853 #line 2853 OMC_FILE
2854 
2855 #line 6044 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2856  /* Pattern-matching tuple assignment, wild first pattern */
2857 #line 6044 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2858  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
2859 #line 6044 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2860  tmpMeta[3] = mmc_mk_box2(0, boxvar_DAEUtil_collectAllExpandableCrefsInExp, tmpMeta[2]);
2861 #line 6044 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2862  omc_DAEUtil_traverseDAEElementList(threadData, _elts, boxvar_Expression_traverseSubexpressionsHelper, tmpMeta[3], &tmpMeta[0]);
2863 #line 6044 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2864  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
2865 #line 6044 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2866  _outCrefs = tmpMeta[1];
2867 #line 2867 OMC_FILE
2868  _return: OMC_LABEL_UNUSED
2869  return _outCrefs;
2870 }
DLLExport modelica_metatype omc_DAEUtil_traverseDAEElementList(threadData_t *threadData, modelica_metatype _ $in_elements, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
Definition: DAEUtil.c:11074
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getAllMatchingElements()

DLLExport modelica_metatype omc_DAEUtil_getAllMatchingElements ( threadData_t threadData,
modelica_metatype  _elist,
modelica_fnptr  _cond 
)

Definition at line 20567 of file DAEUtil.c.

20568 {
20569  modelica_metatype _outElist = NULL;
20570  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
20571  MMC_SO();
20572  _tailrecursive: OMC_LABEL_UNUSED
20573 #line 20573 OMC_FILE
20574  { /* matchcontinue expression */
20575  volatile modelica_metatype tmp3_1;
20576  tmp3_1 = _elist;
20577  {
20578  modelica_metatype _elist1 = NULL;
20579  modelica_metatype _elist2 = NULL;
20580  modelica_metatype _e = NULL;
20581  volatile mmc_switch_type tmp3;
20582  int tmp4;
20583  tmp3 = 0;
20584  MMC_TRY_INTERNAL(mmc_jumper)
20585  tmp2_top:
20586  threadData->mmc_jumper = &new_mmc_jumper;
20587  for (; tmp3 < 4; tmp3++) {
20588  switch (MMC_SWITCH_CAST(tmp3)) {
20589  case 0: {
20590  if (!listEmpty(tmp3_1)) goto tmp2_end;
20591  tmp3 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
20592 #line 1415 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20593  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
20594 #line 1415 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20595  tmpMeta[0] = tmpMeta[1];
20596 #line 20596 OMC_FILE
20597  goto tmp2_done;
20598  }
20599  case 1: {
20600  if (listEmpty(tmp3_1)) goto tmp2_end;
20601  tmpMeta[1] = MMC_CAR(tmp3_1);
20602  tmpMeta[2] = MMC_CDR(tmp3_1);
20603  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],17,4) == 0) goto tmp2_end;
20604  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
20605 
20606  _elist1 = tmpMeta[3];
20607  _elist2 = tmpMeta[2];
20608  /* Pattern matching succeeded */
20609 #line 1418 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20610  _elist1 = omc_DAEUtil_getAllMatchingElements(threadData, _elist1, ((modelica_fnptr) _cond));
20611 #line 20611 OMC_FILE
20612 
20613 #line 1419 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20614  _elist2 = omc_DAEUtil_getAllMatchingElements(threadData, _elist2, ((modelica_fnptr) _cond));
20615 #line 20615 OMC_FILE
20616 #line 1420 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20617  tmpMeta[0] = listAppend(_elist1, _elist2);
20618 #line 20618 OMC_FILE
20619  goto tmp2_done;
20620  }
20621  case 2: {
20622  if (listEmpty(tmp3_1)) goto tmp2_end;
20623  tmpMeta[1] = MMC_CAR(tmp3_1);
20624  tmpMeta[2] = MMC_CDR(tmp3_1);
20625  _e = tmpMeta[1];
20626  _elist2 = tmpMeta[2];
20627  /* Pattern matching succeeded */
20628 #line 1423 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20629  (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cond), 2))) ? ((void(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cond), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cond), 2))), _e) : ((void(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cond), 1)))) (threadData, _e);
20630 #line 20630 OMC_FILE
20631 
20632 #line 1424 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20633  _elist2 = omc_DAEUtil_getAllMatchingElements(threadData, _elist2, ((modelica_fnptr) _cond));
20634 #line 20634 OMC_FILE
20635 #line 1425 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20636  tmpMeta[1] = mmc_mk_cons(_e, _elist2);
20637 #line 1425 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20638  tmpMeta[0] = tmpMeta[1];
20639 #line 20639 OMC_FILE
20640  goto tmp2_done;
20641  }
20642  case 3: {
20643  if (listEmpty(tmp3_1)) goto tmp2_end;
20644  tmpMeta[1] = MMC_CAR(tmp3_1);
20645  tmpMeta[2] = MMC_CDR(tmp3_1);
20646  _elist2 = tmpMeta[2];
20647  /* Pattern matching succeeded */
20648 #line 1427 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20649  tmpMeta[0] = omc_DAEUtil_getAllMatchingElements(threadData, _elist2, ((modelica_fnptr) _cond));
20650 #line 20650 OMC_FILE
20651  goto tmp2_done;
20652  }
20653  }
20654  goto tmp2_end;
20655  tmp2_end: ;
20656  }
20657  goto goto_1;
20658  tmp2_done:
20659  (void)tmp3;
20660  MMC_RESTORE_INTERNAL(mmc_jumper);
20661  goto tmp2_done2;
20662  goto_1:;
20663  MMC_CATCH_INTERNAL(mmc_jumper);
20664  if (++tmp3 < 4) {
20665  goto tmp2_top;
20666  }
20667  MMC_THROW_INTERNAL();
20668  tmp2_done2:;
20669  }
20670  }
20671  _outElist = tmpMeta[0];
20672  _return: OMC_LABEL_UNUSED
20673  return _outElist;
20674 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
float mmc_switch_type
modelica_metatype listAppend(modelica_metatype, modelica_metatype)
void * modelica_fnptr
DLLExport modelica_metatype omc_DAEUtil_getAllMatchingElements(threadData_t *threadData, modelica_metatype _elist, modelica_fnptr _cond)
Definition: DAEUtil.c:20567
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getAssertConditionCrefs()

DLLExport modelica_metatype omc_DAEUtil_getAssertConditionCrefs ( threadData_t threadData,
modelica_metatype  _stmt,
modelica_metatype  _crefsIn 
)

Definition at line 2421 of file DAEUtil.c.

2422 {
2423  modelica_metatype _crefsOut = NULL;
2424  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
2425  MMC_SO();
2426  _tailrecursive: OMC_LABEL_UNUSED
2427 #line 2427 OMC_FILE
2428  { /* match expression */
2429  modelica_metatype tmp3_1;
2430  tmp3_1 = _stmt;
2431  {
2432  modelica_metatype _cond = NULL;
2433  modelica_metatype _crefs = NULL;
2434  volatile mmc_switch_type tmp3;
2435  int tmp4;
2436  tmp3 = 0;
2437  for (; tmp3 < 2; tmp3++) {
2438  switch (MMC_SWITCH_CAST(tmp3)) {
2439  case 0: {
2440  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,8,4) == 0) goto tmp2_end;
2441  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
2442 
2443  _cond = tmpMeta[1];
2444  /* Pattern matching succeeded */
2445 #line 6143 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2446  _crefs = omc_Expression_extractCrefsFromExp(threadData, _cond);
2447 #line 2447 OMC_FILE
2448 #line 6144 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2449  tmpMeta[0] = listAppend(_crefsIn, _crefs);
2450 #line 2450 OMC_FILE
2451  goto tmp2_done;
2452  }
2453  case 1: {
2454 
2455  /* Pattern matching succeeded */
2456 #line 6146 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2457  tmpMeta[0] = _crefsIn;
2458 #line 2458 OMC_FILE
2459  goto tmp2_done;
2460  }
2461  }
2462  goto tmp2_end;
2463  tmp2_end: ;
2464  }
2465  goto goto_1;
2466  goto_1:;
2467  MMC_THROW_INTERNAL();
2468  goto tmp2_done;
2469  tmp2_done:;
2470  }
2471  }
2472  _crefsOut = tmpMeta[0];
2473  _return: OMC_LABEL_UNUSED
2474  return _crefsOut;
2475 }
float mmc_switch_type
modelica_metatype listAppend(modelica_metatype, modelica_metatype)
DLLExport modelica_metatype omc_Expression_extractCrefsFromExp(threadData_t *threadData, modelica_metatype _inExp)
Definition: Expression.c:31424
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_getAttrDirection()

DLLExport modelica_metatype omc_DAEUtil_getAttrDirection ( threadData_t threadData,
modelica_metatype  _attr 
)

Definition at line 3971 of file DAEUtil.c.

3972 {
3973  modelica_metatype _dir = NULL;
3974  MMC_SO();
3975  _tailrecursive: OMC_LABEL_UNUSED
3976  _dir = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_attr), 5)));
3977  _return: OMC_LABEL_UNUSED
3978  return _dir;
3979 }
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_getAttrInnerOuter()

DLLExport modelica_metatype omc_DAEUtil_getAttrInnerOuter ( threadData_t threadData,
modelica_metatype  _attr 
)

Definition at line 3939 of file DAEUtil.c.

3940 {
3941  modelica_metatype _io = NULL;
3942  MMC_SO();
3943  _tailrecursive: OMC_LABEL_UNUSED
3944  _io = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_attr), 6)));
3945  _return: OMC_LABEL_UNUSED
3946  return _io;
3947 }
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_getAttrVariability()

DLLExport modelica_metatype omc_DAEUtil_getAttrVariability ( threadData_t threadData,
modelica_metatype  _attr 
)

Definition at line 4003 of file DAEUtil.c.

4004 {
4005  modelica_metatype _var = NULL;
4006  MMC_SO();
4007  _tailrecursive: OMC_LABEL_UNUSED
4008  _var = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_attr), 4)));
4009  _return: OMC_LABEL_UNUSED
4010  return _var;
4011 }
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_getBidirVars()

DLLExport modelica_metatype omc_DAEUtil_getBidirVars ( threadData_t threadData,
modelica_metatype  _vl 
)

Definition at line 19907 of file DAEUtil.c.

19908 {
19909  modelica_metatype _vl_1 = NULL;
19910  MMC_SO();
19911  _tailrecursive: OMC_LABEL_UNUSED
19912 #line 1630 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19913  _vl_1 = omc_DAEUtil_getMatchingElements(threadData, _vl, boxvar_DAEUtil_isBidirVar);
19914 #line 19914 OMC_FILE
19915  _return: OMC_LABEL_UNUSED
19916  return _vl_1;
19917 }
DLLExport modelica_metatype omc_DAEUtil_getMatchingElements(threadData_t *threadData, modelica_metatype _elist, modelica_fnptr _cond)
Definition: DAEUtil.c:20677
void * modelica_metatype
Here is the call graph for this function:

◆ omc_DAEUtil_getBindings()

DLLExport modelica_metatype omc_DAEUtil_getBindings ( threadData_t threadData,
modelica_metatype  _inElementLst,
modelica_metatype out_oute 
)

Definition at line 18067 of file DAEUtil.c.

18068 {
18069  modelica_metatype _outc = NULL;
18070  modelica_metatype _oute = NULL;
18071  modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
18072  MMC_SO();
18073  _tailrecursive: OMC_LABEL_UNUSED
18074 #line 2015 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18075 
18076 #line 2015 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18077 
18078 #line 18078 OMC_FILE
18079  { /* matchcontinue expression */
18080  volatile modelica_metatype tmp4_1;
18081  tmp4_1 = _inElementLst;
18082  {
18083  modelica_metatype _cr = NULL;
18084  modelica_metatype _e = NULL;
18085  modelica_metatype _rest = NULL;
18086  volatile mmc_switch_type tmp4;
18087  int tmp5;
18088  tmp4 = 0;
18089  MMC_TRY_INTERNAL(mmc_jumper)
18090  tmp3_top:
18091  threadData->mmc_jumper = &new_mmc_jumper;
18092  for (; tmp4 < 4; tmp4++) {
18093  switch (MMC_SWITCH_CAST(tmp4)) {
18094  case 0: {
18095  if (!listEmpty(tmp4_1)) goto tmp3_end;
18096  tmp4 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
18097 #line 2020 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18098  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
18099 #line 2020 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18100  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
18101 #line 2020 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18102  tmpMeta[0+0] = tmpMeta[2];
18103 #line 2020 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18104  tmpMeta[0+1] = tmpMeta[3];
18105 #line 18105 OMC_FILE
18106  goto tmp3_done;
18107  }
18108  case 1: {
18109  if (listEmpty(tmp4_1)) goto tmp3_end;
18110  tmpMeta[2] = MMC_CAR(tmp4_1);
18111  tmpMeta[3] = MMC_CDR(tmp4_1);
18112  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,13) == 0) goto tmp3_end;
18113  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
18114  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 8));
18115  if (optionNone(tmpMeta[5])) goto tmp3_end;
18116  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 1));
18117 
18118  _cr = tmpMeta[4];
18119  _e = tmpMeta[6];
18120  _rest = tmpMeta[3];
18121  tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
18122 #line 2023 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18123  _outc = omc_DAEUtil_getBindings(threadData, _rest ,&_oute);
18124 #line 18124 OMC_FILE
18125 #line 2024 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18126  tmpMeta[2] = mmc_mk_cons(_cr, _outc);
18127 #line 2024 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18128  tmpMeta[3] = mmc_mk_cons(_e, _oute);
18129 #line 2024 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18130  tmpMeta[0+0] = tmpMeta[2];
18131 #line 2024 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18132  tmpMeta[0+1] = tmpMeta[3];
18133 #line 18133 OMC_FILE
18134  goto tmp3_done;
18135  }
18136  case 2: {
18137  if (listEmpty(tmp4_1)) goto tmp3_end;
18138  tmpMeta[2] = MMC_CAR(tmp4_1);
18139  tmpMeta[3] = MMC_CDR(tmp4_1);
18140  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,13) == 0) goto tmp3_end;
18141  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 8));
18142  if (!optionNone(tmpMeta[4])) goto tmp3_end;
18143 
18144  _rest = tmpMeta[3];
18145  /* Pattern matching succeeded */
18146 #line 2028 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18147  tmpMeta[0+0] = omc_DAEUtil_getBindings(threadData, _rest, &tmpMeta[0+1]);
18148 #line 18148 OMC_FILE
18149  goto tmp3_done;
18150  }
18151  case 3: {
18152 
18153  /* Pattern matching succeeded */
18154 #line 2030 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18155  fputs(MMC_STRINGDATA(_OMC_LIT145),stdout);
18156 #line 18156 OMC_FILE
18157 #line 2030 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18158  goto goto_2;
18159 #line 18159 OMC_FILE
18160  goto tmp3_done;
18161  }
18162  }
18163  goto tmp3_end;
18164  tmp3_end: ;
18165  }
18166  goto goto_2;
18167  tmp3_done:
18168  (void)tmp4;
18169  MMC_RESTORE_INTERNAL(mmc_jumper);
18170  goto tmp3_done2;
18171  goto_2:;
18172  MMC_CATCH_INTERNAL(mmc_jumper);
18173  if (++tmp4 < 4) {
18174  goto tmp3_top;
18175  }
18176  MMC_THROW_INTERNAL();
18177  tmp3_done2:;
18178  }
18179  }
18180  _outc = tmpMeta[0+0];
18181  _oute = tmpMeta[0+1];
18182  _return: OMC_LABEL_UNUSED
18183  if (out_oute) { *out_oute = _oute; }
18184  return _outc;
18185 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
DLLExport modelica_metatype omc_DAEUtil_getBindings(threadData_t *threadData, modelica_metatype _inElementLst, modelica_metatype *out_oute)
Definition: DAEUtil.c:18067
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getBindingsStr()

PROTECTED_FUNCTION_STATIC modelica_string omc_DAEUtil_getBindingsStr ( threadData_t threadData,
modelica_metatype  _inElementLst 
)

Definition at line 18187 of file DAEUtil.c.

18188 {
18189  modelica_string _outString = NULL;
18190  modelica_string tmp1 = 0;
18191  modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
18192  MMC_SO();
18193  _tailrecursive: OMC_LABEL_UNUSED
18194 #line 18194 OMC_FILE
18195  { /* match expression */
18196  modelica_metatype tmp4_1;
18197  tmp4_1 = _inElementLst;
18198  {
18199  modelica_string _expstr = NULL;
18200  modelica_string _s3 = NULL;
18201  modelica_string _s4 = NULL;
18202  modelica_string _s1 = NULL;
18203  modelica_string _s2 = NULL;
18204  modelica_metatype _e = NULL;
18205  modelica_metatype _lst = NULL;
18206  volatile mmc_switch_type tmp4;
18207  int tmp5;
18208  tmp4 = 0;
18209  for (; tmp4 < 4; tmp4++) {
18210  switch (MMC_SWITCH_CAST(tmp4)) {
18211  case 0: {
18212  if (listEmpty(tmp4_1)) goto tmp3_end;
18213  tmpMeta[0] = MMC_CAR(tmp4_1);
18214  tmpMeta[1] = MMC_CDR(tmp4_1);
18215  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,13) == 0) goto tmp3_end;
18216  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 8));
18217  if (optionNone(tmpMeta[2])) goto tmp3_end;
18218  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
18219  if (listEmpty(tmpMeta[1])) goto tmp3_end;
18220  tmpMeta[4] = MMC_CAR(tmpMeta[1]);
18221  tmpMeta[5] = MMC_CDR(tmpMeta[1]);
18222  _e = tmpMeta[3];
18223  _lst = tmpMeta[1];
18224  /* Pattern matching succeeded */
18225 #line 1986 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18226  _expstr = omc_ExpressionDump_printExpStr(threadData, _e);
18227 #line 18227 OMC_FILE
18228 
18229 #line 1987 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18230  tmpMeta[0] = stringAppend(_expstr,_OMC_LIT146);
18231 #line 1987 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18232  _s3 = tmpMeta[0];
18233 #line 18233 OMC_FILE
18234 
18235 #line 1988 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18236  _s4 = omc_DAEUtil_getBindingsStr(threadData, _lst);
18237 #line 18237 OMC_FILE
18238 #line 1989 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18239  tmpMeta[0] = stringAppend(_s3,_s4);
18240 #line 1989 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18241  tmp1 = tmpMeta[0];
18242 #line 18242 OMC_FILE
18243  goto tmp3_done;
18244  }
18245  case 1: {
18246  if (listEmpty(tmp4_1)) goto tmp3_end;
18247  tmpMeta[0] = MMC_CAR(tmp4_1);
18248  tmpMeta[1] = MMC_CDR(tmp4_1);
18249  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,13) == 0) goto tmp3_end;
18250  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 8));
18251  if (!optionNone(tmpMeta[2])) goto tmp3_end;
18252  if (listEmpty(tmpMeta[1])) goto tmp3_end;
18253  tmpMeta[3] = MMC_CAR(tmpMeta[1]);
18254  tmpMeta[4] = MMC_CDR(tmpMeta[1]);
18255  _lst = tmpMeta[1];
18256  /* Pattern matching succeeded */
18257 #line 1994 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18258  _s1 = _OMC_LIT147;
18259 #line 18259 OMC_FILE
18260 
18261 #line 1995 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18262  _s2 = omc_DAEUtil_getBindingsStr(threadData, _lst);
18263 #line 18263 OMC_FILE
18264 #line 1996 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18265  tmpMeta[0] = stringAppend(_s1,_s2);
18266 #line 1996 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18267  tmp1 = tmpMeta[0];
18268 #line 18268 OMC_FILE
18269  goto tmp3_done;
18270  }
18271  case 2: {
18272  if (listEmpty(tmp4_1)) goto tmp3_end;
18273  tmpMeta[0] = MMC_CAR(tmp4_1);
18274  tmpMeta[1] = MMC_CDR(tmp4_1);
18275  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,13) == 0) goto tmp3_end;
18276  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 8));
18277  if (optionNone(tmpMeta[2])) goto tmp3_end;
18278  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
18279  if (!listEmpty(tmpMeta[1])) goto tmp3_end;
18280  _e = tmpMeta[3];
18281  /* Pattern matching succeeded */
18282 #line 2001 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18283  tmp1 = omc_ExpressionDump_printExpStr(threadData, _e);
18284 #line 18284 OMC_FILE
18285  goto tmp3_done;
18286  }
18287  case 3: {
18288  if (listEmpty(tmp4_1)) goto tmp3_end;
18289  tmpMeta[0] = MMC_CAR(tmp4_1);
18290  tmpMeta[1] = MMC_CDR(tmp4_1);
18291  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,13) == 0) goto tmp3_end;
18292  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 8));
18293  if (!optionNone(tmpMeta[2])) goto tmp3_end;
18294  if (!listEmpty(tmpMeta[1])) goto tmp3_end;
18295  /* Pattern matching succeeded */
18296 #line 2004 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18297  tmp1 = _OMC_LIT7;
18298 #line 18298 OMC_FILE
18299  goto tmp3_done;
18300  }
18301  }
18302  goto tmp3_end;
18303  tmp3_end: ;
18304  }
18305  goto goto_2;
18306  goto_2:;
18307  MMC_THROW_INTERNAL();
18308  goto tmp3_done;
18309  tmp3_done:;
18310  }
18311  }
18312  _outString = tmp1;
18313  _return: OMC_LABEL_UNUSED
18314  return _outString;
18315 }
modelica_metatype modelica_string
float mmc_switch_type
PROTECTED_FUNCTION_STATIC modelica_string omc_DAEUtil_getBindingsStr(threadData_t *threadData, modelica_metatype _inElementLst)
Definition: DAEUtil.c:18187
modelica_string stringAppend(modelica_string s1, modelica_string s2)
void * modelica_metatype
DLLExport modelica_string omc_ExpressionDump_printExpStr(threadData_t *threadData, modelica_metatype _e)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getBoundStartEquation()

DLLExport modelica_metatype omc_DAEUtil_getBoundStartEquation ( threadData_t threadData,
modelica_metatype  _attr 
)

Definition at line 25198 of file DAEUtil.c.

25199 {
25200  modelica_metatype _oe = NULL;
25201  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
25202  MMC_SO();
25203  _tailrecursive: OMC_LABEL_UNUSED
25204 #line 25204 OMC_FILE
25205  { /* match expression */
25206  modelica_metatype tmp3_1;
25207  tmp3_1 = _attr;
25208  {
25209  modelica_metatype _beq = NULL;
25210  int tmp3;
25211  {
25212  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
25213  case 3: {
25214  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,15) == 0) goto tmp2_end;
25215  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 13));
25216  if (optionNone(tmpMeta[1])) goto tmp2_end;
25217  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
25218 
25219  _beq = tmpMeta[2];
25220  /* Pattern matching succeeded */
25221 #line 351 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25222  tmpMeta[0] = _beq;
25223 #line 25223 OMC_FILE
25224  goto tmp2_done;
25225  }
25226  case 4: {
25227  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,11) == 0) goto tmp2_end;
25228  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 9));
25229  if (optionNone(tmpMeta[1])) goto tmp2_end;
25230  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
25231 
25232  _beq = tmpMeta[2];
25233  /* Pattern matching succeeded */
25234 #line 352 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25235  tmpMeta[0] = _beq;
25236 #line 25236 OMC_FILE
25237  goto tmp2_done;
25238  }
25239  case 5: {
25240  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,2,7) == 0) goto tmp2_end;
25241  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
25242  if (optionNone(tmpMeta[1])) goto tmp2_end;
25243  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
25244 
25245  _beq = tmpMeta[2];
25246  /* Pattern matching succeeded */
25247 #line 353 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25248  tmpMeta[0] = _beq;
25249 #line 25249 OMC_FILE
25250  goto tmp2_done;
25251  }
25252  case 8: {
25253  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,9) == 0) goto tmp2_end;
25254  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 7));
25255  if (optionNone(tmpMeta[1])) goto tmp2_end;
25256  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
25257 
25258  _beq = tmpMeta[2];
25259  /* Pattern matching succeeded */
25260 #line 354 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25261  tmpMeta[0] = _beq;
25262 #line 25262 OMC_FILE
25263  goto tmp2_done;
25264  }
25265  }
25266  goto tmp2_end;
25267  tmp2_end: ;
25268  }
25269  goto goto_1;
25270  goto_1:;
25271  MMC_THROW_INTERNAL();
25272  goto tmp2_done;
25273  tmp2_done:;
25274  }
25275  }
25276  _oe = tmpMeta[0];
25277  _return: OMC_LABEL_UNUSED
25278  return _oe;
25279 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_getClassList()

DLLExport modelica_metatype omc_DAEUtil_getClassList ( threadData_t threadData,
modelica_metatype  _v 
)

Definition at line 25282 of file DAEUtil.c.

25283 {
25284  modelica_metatype _lst = NULL;
25285  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
25286  MMC_SO();
25287  _tailrecursive: OMC_LABEL_UNUSED
25288 #line 25288 OMC_FILE
25289  { /* match expression */
25290  modelica_metatype tmp3_1;
25291  tmp3_1 = _v;
25292  {
25293  volatile mmc_switch_type tmp3;
25294  int tmp4;
25295  tmp3 = 0;
25296  for (; tmp3 < 2; tmp3++) {
25297  switch (MMC_SWITCH_CAST(tmp3)) {
25298  case 0: {
25299  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
25300  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 11));
25301  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
25302 
25303  _lst = tmpMeta[2];
25304  /* Pattern matching succeeded */
25305 #line 339 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25306  tmpMeta[0] = _lst;
25307 #line 25307 OMC_FILE
25308  goto tmp2_done;
25309  }
25310  case 1: {
25311 
25312  /* Pattern matching succeeded */
25313 #line 340 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25314  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
25315 #line 340 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25316  tmpMeta[0] = tmpMeta[1];
25317 #line 25317 OMC_FILE
25318  goto tmp2_done;
25319  }
25320  }
25321  goto tmp2_end;
25322  tmp2_end: ;
25323  }
25324  goto goto_1;
25325  goto_1:;
25326  MMC_THROW_INTERNAL();
25327  goto tmp2_done;
25328  tmp2_done:;
25329  }
25330  }
25331  _lst = tmpMeta[0];
25332  _return: OMC_LABEL_UNUSED
25333  return _lst;
25334 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_getDAEDeclsFromValueblocks()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getDAEDeclsFromValueblocks ( threadData_t threadData,
modelica_metatype  _exps 
)

Definition at line 4849 of file DAEUtil.c.

4850 {
4851  modelica_metatype _outEls = NULL;
4852  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
4853  MMC_SO();
4854  _tailrecursive: OMC_LABEL_UNUSED
4855  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
4856  _outEls = tmpMeta[0];
4857 #line 5360 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4858  {
4859 #line 5360 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4860  modelica_metatype _ex;
4861 #line 5360 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4862  for (tmpMeta[1] = _exps; !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
4863 #line 5360 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4864  {
4865 #line 5360 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4866  _ex = MMC_CAR(tmpMeta[1]);
4867 #line 4867 OMC_FILE
4868  { /* match expression */
4869  modelica_metatype tmp3_1;
4870  tmp3_1 = _ex;
4871  {
4872  modelica_metatype _els1 = NULL;
4873  volatile mmc_switch_type tmp3;
4874  int tmp4;
4875  tmp3 = 0;
4876  for (; tmp3 < 2; tmp3++) {
4877  switch (MMC_SWITCH_CAST(tmp3)) {
4878  case 0: {
4879  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,33,6) == 0) goto tmp2_end;
4880  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
4881 
4882  _els1 = tmpMeta[2];
4883  /* Pattern matching succeeded */
4884 #line 5366 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4885  _outEls = omc_List_append__reverse(threadData, _els1, _outEls);
4886 #line 4886 OMC_FILE
4887 #line 4887 OMC_FILE
4888  goto tmp2_done;
4889  }
4890  case 1: {
4891 
4892  /* Pattern matching succeeded */
4893 #line 4893 OMC_FILE
4894  goto tmp2_done;
4895  }
4896  }
4897  goto tmp2_end;
4898  tmp2_end: ;
4899  }
4900  goto goto_1;
4901  goto_1:;
4902  MMC_THROW_INTERNAL();
4903  goto tmp2_done;
4904  tmp2_done:;
4905  }
4906  }
4907  ;
4908  }
4909  }
4910 
4911 #line 5371 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4912  _outEls = listReverseInPlace(_outEls);
4913 #line 4913 OMC_FILE
4914  _return: OMC_LABEL_UNUSED
4915  return _outEls;
4916 }
DLLExport modelica_metatype omc_List_append__reverse(threadData_t *threadData, modelica_metatype _inList1, modelica_metatype _inList2)
Definition: List.c:17948
float mmc_switch_type
void * modelica_metatype
modelica_metatype listReverseInPlace(modelica_metatype)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:

◆ omc_DAEUtil_getDerivativePaths()

DLLExport modelica_metatype omc_DAEUtil_getDerivativePaths ( threadData_t threadData,
modelica_metatype  _inFuncDefs 
)

Definition at line 25543 of file DAEUtil.c.

25544 {
25545  modelica_metatype _paths = NULL;
25546  modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
25547  MMC_SO();
25548  _tailrecursive: OMC_LABEL_UNUSED
25549 #line 25549 OMC_FILE
25550  { /* matchcontinue expression */
25551  volatile modelica_metatype tmp3_1;
25552  tmp3_1 = _inFuncDefs;
25553  {
25554  modelica_metatype _pLst1 = NULL;
25555  modelica_metatype _pLst2 = NULL;
25556  modelica_metatype _p1 = NULL;
25557  modelica_metatype _p2 = NULL;
25558  modelica_metatype _funcDefs = NULL;
25559  volatile mmc_switch_type tmp3;
25560  int tmp4;
25561  tmp3 = 0;
25562  MMC_TRY_INTERNAL(mmc_jumper)
25563  tmp2_top:
25564  threadData->mmc_jumper = &new_mmc_jumper;
25565  for (; tmp3 < 4; tmp3++) {
25566  switch (MMC_SWITCH_CAST(tmp3)) {
25567  case 0: {
25568  if (!listEmpty(tmp3_1)) goto tmp2_end;
25569  tmp3 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
25570 #line 280 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25571  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
25572 #line 280 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25573  tmpMeta[0] = tmpMeta[1];
25574 #line 25574 OMC_FILE
25575  goto tmp2_done;
25576  }
25577  case 1: {
25578  if (listEmpty(tmp3_1)) goto tmp2_end;
25579  tmpMeta[1] = MMC_CAR(tmp3_1);
25580  tmpMeta[2] = MMC_CDR(tmp3_1);
25581  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,6) == 0) goto tmp2_end;
25582  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
25583  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
25584  if (optionNone(tmpMeta[4])) goto tmp2_end;
25585  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 1));
25586  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
25587  _p1 = tmpMeta[3];
25588  _p2 = tmpMeta[5];
25589  _pLst1 = tmpMeta[6];
25590  _funcDefs = tmpMeta[2];
25591  tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
25592 #line 284 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25593  _pLst2 = omc_DAEUtil_getDerivativePaths(threadData, _funcDefs);
25594 #line 25594 OMC_FILE
25595 #line 285 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25596  tmpMeta[2] = mmc_mk_cons(_p2, _pLst1);
25597 #line 285 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25598  tmpMeta[1] = mmc_mk_cons(_p1, tmpMeta[2]);
25599 #line 285 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25600  tmpMeta[0] = omc_List_union(threadData, tmpMeta[1], _pLst2);
25601 #line 25601 OMC_FILE
25602  goto tmp2_done;
25603  }
25604  case 2: {
25605  if (listEmpty(tmp3_1)) goto tmp2_end;
25606  tmpMeta[1] = MMC_CAR(tmp3_1);
25607  tmpMeta[2] = MMC_CDR(tmp3_1);
25608  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,6) == 0) goto tmp2_end;
25609  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
25610  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
25611  if (!optionNone(tmpMeta[4])) goto tmp2_end;
25612  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
25613  _p1 = tmpMeta[3];
25614  _pLst1 = tmpMeta[5];
25615  _funcDefs = tmpMeta[2];
25616  /* Pattern matching succeeded */
25617 #line 291 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25618  _pLst2 = omc_DAEUtil_getDerivativePaths(threadData, _funcDefs);
25619 #line 25619 OMC_FILE
25620 #line 292 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25621  tmpMeta[1] = mmc_mk_cons(_p1, _pLst1);
25622 #line 292 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25623  tmpMeta[0] = omc_List_union(threadData, tmpMeta[1], _pLst2);
25624 #line 25624 OMC_FILE
25625  goto tmp2_done;
25626  }
25627  case 3: {
25628  if (listEmpty(tmp3_1)) goto tmp2_end;
25629  tmpMeta[1] = MMC_CAR(tmp3_1);
25630  tmpMeta[2] = MMC_CDR(tmp3_1);
25631  _funcDefs = tmpMeta[2];
25632  /* Pattern matching succeeded */
25633 #line 296 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25634  tmpMeta[0] = omc_DAEUtil_getDerivativePaths(threadData, _funcDefs);
25635 #line 25635 OMC_FILE
25636  goto tmp2_done;
25637  }
25638  }
25639  goto tmp2_end;
25640  tmp2_end: ;
25641  }
25642  goto goto_1;
25643  tmp2_done:
25644  (void)tmp3;
25645  MMC_RESTORE_INTERNAL(mmc_jumper);
25646  goto tmp2_done2;
25647  goto_1:;
25648  MMC_CATCH_INTERNAL(mmc_jumper);
25649  if (++tmp3 < 4) {
25650  goto tmp2_top;
25651  }
25652  MMC_THROW_INTERNAL();
25653  tmp2_done2:;
25654  }
25655  }
25656  _paths = tmpMeta[0];
25657  _return: OMC_LABEL_UNUSED
25658  return _paths;
25659 }
DLLExport modelica_metatype omc_List_union(threadData_t *threadData, modelica_metatype _inList1, modelica_metatype _inList2)
Definition: List.c:13702
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
float mmc_switch_type
void * modelica_metatype
DLLExport modelica_metatype omc_DAEUtil_getDerivativePaths(threadData_t *threadData, modelica_metatype _inFuncDefs)
Definition: DAEUtil.c:25543
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getElements()

DLLExport modelica_metatype omc_DAEUtil_getElements ( threadData_t threadData,
modelica_metatype  _inDAE 
)

Definition at line 3177 of file DAEUtil.c.

3178 {
3179  modelica_metatype _outElements = NULL;
3180  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3181  MMC_SO();
3182  _tailrecursive: OMC_LABEL_UNUSED
3183 #line 5933 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3184  /* Pattern-matching assignment */
3185 #line 5933 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3186  tmpMeta[0] = _inDAE;
3187 #line 5933 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3188  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
3189 #line 5933 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3190  _outElements = tmpMeta[1];
3191 #line 3191 OMC_FILE
3192  _return: OMC_LABEL_UNUSED
3193  return _outElements;
3194 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_getFinalAttr()

DLLExport modelica_boolean omc_DAEUtil_getFinalAttr ( threadData_t threadData,
modelica_metatype  _attr 
)

Definition at line 20954 of file DAEUtil.c.

20955 {
20956  modelica_boolean _finalPrefix;
20957  modelica_boolean tmp1 = 0;
20958  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
20959  MMC_SO();
20960  _tailrecursive: OMC_LABEL_UNUSED
20961 #line 20961 OMC_FILE
20962  { /* match expression */
20963  modelica_metatype tmp4_1;
20964  tmp4_1 = _attr;
20965  {
20966  modelica_boolean _b;
20967  volatile mmc_switch_type tmp4;
20968  int tmp5;
20969  tmp4 = 0;
20970  for (; tmp4 < 7; tmp4++) {
20971  switch (MMC_SWITCH_CAST(tmp4)) {
20972  case 0: {
20973  modelica_integer tmp6;
20974  if (optionNone(tmp4_1)) goto tmp3_end;
20975  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
20976  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,15) == 0) goto tmp3_end;
20977  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 15));
20978  if (optionNone(tmpMeta[1])) goto tmp3_end;
20979  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
20980  tmp6 = mmc_unbox_integer(tmpMeta[2]);
20981 
20982  _b = tmp6 /* pattern as ty=Boolean */;
20983  /* Pattern matching succeeded */
20984 #line 1320 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20985  tmp1 = _b;
20986 #line 20986 OMC_FILE
20987  goto tmp3_done;
20988  }
20989  case 1: {
20990  modelica_integer tmp7;
20991  if (optionNone(tmp4_1)) goto tmp3_end;
20992  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
20993  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],1,11) == 0) goto tmp3_end;
20994  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 11));
20995  if (optionNone(tmpMeta[1])) goto tmp3_end;
20996  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
20997  tmp7 = mmc_unbox_integer(tmpMeta[2]);
20998 
20999  _b = tmp7 /* pattern as ty=Boolean */;
21000  /* Pattern matching succeeded */
21001 #line 1321 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21002  tmp1 = _b;
21003 #line 21003 OMC_FILE
21004  goto tmp3_done;
21005  }
21006  case 2: {
21007  modelica_integer tmp8;
21008  if (optionNone(tmp4_1)) goto tmp3_end;
21009  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
21010  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],2,7) == 0) goto tmp3_end;
21011  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 7));
21012  if (optionNone(tmpMeta[1])) goto tmp3_end;
21013  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
21014  tmp8 = mmc_unbox_integer(tmpMeta[2]);
21015 
21016  _b = tmp8 /* pattern as ty=Boolean */;
21017  /* Pattern matching succeeded */
21018 #line 1322 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21019  tmp1 = _b;
21020 #line 21020 OMC_FILE
21021  goto tmp3_done;
21022  }
21023  case 3: {
21024  modelica_integer tmp9;
21025  if (optionNone(tmp4_1)) goto tmp3_end;
21026  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
21027  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],4,7) == 0) goto tmp3_end;
21028  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 7));
21029  if (optionNone(tmpMeta[1])) goto tmp3_end;
21030  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
21031  tmp9 = mmc_unbox_integer(tmpMeta[2]);
21032 
21033  _b = tmp9 /* pattern as ty=Boolean */;
21034  /* Pattern matching succeeded */
21035 #line 1323 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21036  tmp1 = _b;
21037 #line 21037 OMC_FILE
21038  goto tmp3_done;
21039  }
21040  case 4: {
21041  modelica_integer tmp10;
21042  if (optionNone(tmp4_1)) goto tmp3_end;
21043  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
21044  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],5,9) == 0) goto tmp3_end;
21045  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 9));
21046  if (optionNone(tmpMeta[1])) goto tmp3_end;
21047  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
21048  tmp10 = mmc_unbox_integer(tmpMeta[2]);
21049 
21050  _b = tmp10 /* pattern as ty=Boolean */;
21051  /* Pattern matching succeeded */
21052 #line 1324 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21053  tmp1 = _b;
21054 #line 21054 OMC_FILE
21055  goto tmp3_done;
21056  }
21057  case 5: {
21058  modelica_integer tmp11;
21059  if (optionNone(tmp4_1)) goto tmp3_end;
21060  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
21061  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],3,2) == 0) goto tmp3_end;
21062  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
21063  if (optionNone(tmpMeta[1])) goto tmp3_end;
21064  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
21065  tmp11 = mmc_unbox_integer(tmpMeta[2]);
21066  _b = tmp11 /* pattern as ty=Boolean */;
21067  /* Pattern matching succeeded */
21068 #line 1325 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21069  tmp1 = _b;
21070 #line 21070 OMC_FILE
21071  goto tmp3_done;
21072  }
21073  case 6: {
21074 
21075  /* Pattern matching succeeded */
21076 #line 1326 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21077  tmp1 = 0;
21078 #line 21078 OMC_FILE
21079  goto tmp3_done;
21080  }
21081  }
21082  goto tmp3_end;
21083  tmp3_end: ;
21084  }
21085  goto goto_2;
21086  goto_2:;
21087  MMC_THROW_INTERNAL();
21088  goto tmp3_done;
21089  tmp3_done:;
21090  }
21091  }
21092  _finalPrefix = tmp1;
21093  _return: OMC_LABEL_UNUSED
21094  return _finalPrefix;
21095 }
m_integer modelica_integer
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getFlowVariables()

DLLExport modelica_metatype omc_DAEUtil_getFlowVariables ( threadData_t threadData,
modelica_metatype  _inElementLst 
)

Definition at line 17547 of file DAEUtil.c.

17548 {
17549  modelica_metatype _outExpComponentRefLst = NULL;
17550  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
17551  MMC_SO();
17552  _tailrecursive: OMC_LABEL_UNUSED
17553 #line 17553 OMC_FILE
17554  { /* matchcontinue expression */
17555  volatile modelica_metatype tmp3_1;
17556  tmp3_1 = _inElementLst;
17557  {
17558  modelica_metatype _res = NULL;
17559  modelica_metatype _res1 = NULL;
17560  modelica_metatype _res1_1 = NULL;
17561  modelica_metatype _res2 = NULL;
17562  modelica_metatype _cr = NULL;
17563  modelica_metatype _xs = NULL;
17564  modelica_metatype _lst = NULL;
17565  modelica_string _id = NULL;
17566  volatile mmc_switch_type tmp3;
17567  int tmp4;
17568  tmp3 = 0;
17569  MMC_TRY_INTERNAL(mmc_jumper)
17570  tmp2_top:
17571  threadData->mmc_jumper = &new_mmc_jumper;
17572  for (; tmp3 < 4; tmp3++) {
17573  switch (MMC_SWITCH_CAST(tmp3)) {
17574  case 0: {
17575  if (!listEmpty(tmp3_1)) goto tmp2_end;
17576  tmp3 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
17577 #line 2141 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17578  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
17579 #line 2141 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17580  tmpMeta[0] = tmpMeta[1];
17581 #line 17581 OMC_FILE
17582  goto tmp2_done;
17583  }
17584  case 1: {
17585  if (listEmpty(tmp3_1)) goto tmp2_end;
17586  tmpMeta[1] = MMC_CAR(tmp3_1);
17587  tmpMeta[2] = MMC_CDR(tmp3_1);
17588  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,13) == 0) goto tmp2_end;
17589  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
17590  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
17591  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,0) == 0) goto tmp2_end;
17592 
17593  _cr = tmpMeta[3];
17594  _xs = tmpMeta[2];
17595  tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
17596 #line 2144 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17597  _res = omc_DAEUtil_getFlowVariables(threadData, _xs);
17598 #line 17598 OMC_FILE
17599 #line 2145 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17600  tmpMeta[1] = mmc_mk_cons(_cr, _res);
17601 #line 2145 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17602  tmpMeta[0] = tmpMeta[1];
17603 #line 17603 OMC_FILE
17604  goto tmp2_done;
17605  }
17606  case 2: {
17607  if (listEmpty(tmp3_1)) goto tmp2_end;
17608  tmpMeta[1] = MMC_CAR(tmp3_1);
17609  tmpMeta[2] = MMC_CDR(tmp3_1);
17610  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],17,4) == 0) goto tmp2_end;
17611  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
17612  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
17613 
17614  _id = tmpMeta[3];
17615  _lst = tmpMeta[4];
17616  _xs = tmpMeta[2];
17617  /* Pattern matching succeeded */
17618 #line 2149 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17619  _res1 = omc_DAEUtil_getFlowVariables(threadData, _lst);
17620 #line 17620 OMC_FILE
17621 
17622 #line 2150 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17623  _res1_1 = omc_DAEUtil_getFlowVariables2(threadData, _res1, _id);
17624 #line 17624 OMC_FILE
17625 
17626 #line 2151 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17627  _res2 = omc_DAEUtil_getFlowVariables(threadData, _xs);
17628 #line 17628 OMC_FILE
17629 #line 2152 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17630  tmpMeta[0] = listAppend(_res1_1, _res2);
17631 #line 17631 OMC_FILE
17632  goto tmp2_done;
17633  }
17634  case 3: {
17635  if (listEmpty(tmp3_1)) goto tmp2_end;
17636  tmpMeta[1] = MMC_CAR(tmp3_1);
17637  tmpMeta[2] = MMC_CDR(tmp3_1);
17638  _xs = tmpMeta[2];
17639  /* Pattern matching succeeded */
17640 #line 2157 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17641  tmpMeta[0] = omc_DAEUtil_getFlowVariables(threadData, _xs);
17642 #line 17642 OMC_FILE
17643  goto tmp2_done;
17644  }
17645  }
17646  goto tmp2_end;
17647  tmp2_end: ;
17648  }
17649  goto goto_1;
17650  tmp2_done:
17651  (void)tmp3;
17652  MMC_RESTORE_INTERNAL(mmc_jumper);
17653  goto tmp2_done2;
17654  goto_1:;
17655  MMC_CATCH_INTERNAL(mmc_jumper);
17656  if (++tmp3 < 4) {
17657  goto tmp2_top;
17658  }
17659  MMC_THROW_INTERNAL();
17660  tmp2_done2:;
17661  }
17662  }
17663  _outExpComponentRefLst = tmpMeta[0];
17664  _return: OMC_LABEL_UNUSED
17665  return _outExpComponentRefLst;
17666 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
modelica_metatype modelica_string
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getFlowVariables2(threadData_t *threadData, modelica_metatype _inExpComponentRefLst, modelica_string _inIdent)
Definition: DAEUtil.c:17472
DLLExport modelica_metatype omc_DAEUtil_getFlowVariables(threadData_t *threadData, modelica_metatype _inElementLst)
Definition: DAEUtil.c:17547
float mmc_switch_type
modelica_metatype listAppend(modelica_metatype, modelica_metatype)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getFlowVariables2()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getFlowVariables2 ( threadData_t threadData,
modelica_metatype  _inExpComponentRefLst,
modelica_string  _inIdent 
)

Definition at line 17472 of file DAEUtil.c.

17473 {
17474  modelica_metatype _outExpComponentRefLst = NULL;
17475  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
17476  MMC_SO();
17477  _tailrecursive: OMC_LABEL_UNUSED
17478 #line 17478 OMC_FILE
17479  { /* match expression */
17480  modelica_metatype tmp3_1;modelica_string tmp3_2;
17481  tmp3_1 = _inExpComponentRefLst;
17482  tmp3_2 = _inIdent;
17483  {
17484  modelica_string _id = NULL;
17485  modelica_metatype _res = NULL;
17486  modelica_metatype _xs = NULL;
17487  modelica_metatype _cr_1 = NULL;
17488  modelica_metatype _cr = NULL;
17489  volatile mmc_switch_type tmp3;
17490  int tmp4;
17491  tmp3 = 0;
17492  for (; tmp3 < 2; tmp3++) {
17493  switch (MMC_SWITCH_CAST(tmp3)) {
17494  case 0: {
17495  if (!listEmpty(tmp3_1)) goto tmp2_end;
17496 
17497  /* Pattern matching succeeded */
17498 #line 2176 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17499  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
17500 #line 2176 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17501  tmpMeta[0] = tmpMeta[1];
17502 #line 17502 OMC_FILE
17503  goto tmp2_done;
17504  }
17505  case 1: {
17506  if (listEmpty(tmp3_1)) goto tmp2_end;
17507  tmpMeta[1] = MMC_CAR(tmp3_1);
17508  tmpMeta[2] = MMC_CDR(tmp3_1);
17509 
17510  _cr = tmpMeta[1];
17511  _xs = tmpMeta[2];
17512  _id = tmp3_2;
17513  /* Pattern matching succeeded */
17514 #line 2179 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17515  _res = omc_DAEUtil_getFlowVariables2(threadData, _xs, _id);
17516 #line 17516 OMC_FILE
17517 
17518 #line 2180 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17519  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
17520 #line 2180 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17521  _cr_1 = omc_ComponentReference_makeCrefQual(threadData, _id, _OMC_LIT24, tmpMeta[1], _cr);
17522 #line 17522 OMC_FILE
17523 #line 2181 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17524  tmpMeta[1] = mmc_mk_cons(_cr_1, _res);
17525 #line 2181 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17526  tmpMeta[0] = tmpMeta[1];
17527 #line 17527 OMC_FILE
17528  goto tmp2_done;
17529  }
17530  }
17531  goto tmp2_end;
17532  tmp2_end: ;
17533  }
17534  goto goto_1;
17535  goto_1:;
17536  MMC_THROW_INTERNAL();
17537  goto tmp2_done;
17538  tmp2_done:;
17539  }
17540  }
17541  _outExpComponentRefLst = tmpMeta[0];
17542  _return: OMC_LABEL_UNUSED
17543  return _outExpComponentRefLst;
17544 }
modelica_metatype modelica_string
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getFlowVariables2(threadData_t *threadData, modelica_metatype _inExpComponentRefLst, modelica_string _inIdent)
Definition: DAEUtil.c:17472
float mmc_switch_type
DLLExport modelica_metatype omc_ComponentReference_makeCrefQual(threadData_t *threadData, modelica_string _ident, modelica_metatype _identType, modelica_metatype _subscriptLst, modelica_metatype _componentRef)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_getFunctionAlgorithms()

DLLExport modelica_metatype omc_DAEUtil_getFunctionAlgorithms ( threadData_t threadData,
modelica_metatype  _fn 
)

Definition at line 14861 of file DAEUtil.c.

14862 {
14863  modelica_metatype _outEls = NULL;
14864  modelica_metatype _elements = NULL;
14865  MMC_SO();
14866  _tailrecursive: OMC_LABEL_UNUSED
14867 #line 2893 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14868  _elements = omc_DAEUtil_getFunctionElements(threadData, _fn);
14869 #line 14869 OMC_FILE
14870 
14871 #line 2894 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14872  _outEls = omc_List_filterOnTrue(threadData, _elements, boxvar_DAEUtil_isAlgorithm);
14873 #line 14873 OMC_FILE
14874  _return: OMC_LABEL_UNUSED
14875  return _outEls;
14876 }
DLLExport modelica_metatype omc_List_filterOnTrue(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFilterFunc)
Definition: List.c:4218
DLLExport modelica_metatype omc_DAEUtil_getFunctionElements(threadData_t *threadData, modelica_metatype _fn)
Definition: DAEUtil.c:15098
void * modelica_metatype
Here is the call graph for this function:

◆ omc_DAEUtil_getFunctionAlgorithmStmts()

DLLExport modelica_metatype omc_DAEUtil_getFunctionAlgorithmStmts ( threadData_t threadData,
modelica_metatype  _fn 
)

Definition at line 14843 of file DAEUtil.c.

14844 {
14845  modelica_metatype _bodyStmts = NULL;
14846  modelica_metatype _elements = NULL;
14847  MMC_SO();
14848  _tailrecursive: OMC_LABEL_UNUSED
14849 #line 2903 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14850  _elements = omc_DAEUtil_getFunctionElements(threadData, _fn);
14851 #line 14851 OMC_FILE
14852 
14853 #line 2904 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14854  _bodyStmts = omc_List_mapFlat(threadData, omc_List_filterOnTrue(threadData, _elements, boxvar_DAEUtil_isAlgorithm), boxvar_DAEUtil_getStatement);
14855 #line 14855 OMC_FILE
14856  _return: OMC_LABEL_UNUSED
14857  return _bodyStmts;
14858 }
DLLExport modelica_metatype omc_List_mapFlat(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inMapFunc)
Definition: List.c:11331
DLLExport modelica_metatype omc_List_filterOnTrue(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFilterFunc)
Definition: List.c:4218
DLLExport modelica_metatype omc_DAEUtil_getFunctionElements(threadData_t *threadData, modelica_metatype _fn)
Definition: DAEUtil.c:15098
void * modelica_metatype
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getFunctionElements()

DLLExport modelica_metatype omc_DAEUtil_getFunctionElements ( threadData_t threadData,
modelica_metatype  _fn 
)

Definition at line 15098 of file DAEUtil.c.

15099 {
15100  modelica_metatype _els = NULL;
15101  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
15102  MMC_SO();
15103  _tailrecursive: OMC_LABEL_UNUSED
15104 #line 15104 OMC_FILE
15105  { /* match expression */
15106  modelica_metatype tmp3_1;
15107  tmp3_1 = _fn;
15108  {
15109  modelica_metatype _elements = NULL;
15110  volatile mmc_switch_type tmp3;
15111  int tmp4;
15112  tmp3 = 0;
15113  for (; tmp3 < 3; tmp3++) {
15114  switch (MMC_SWITCH_CAST(tmp3)) {
15115  case 0: {
15116  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,9) == 0) goto tmp2_end;
15117  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15118  if (listEmpty(tmpMeta[1])) goto tmp2_end;
15119  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
15120  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
15121  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,1) == 0) goto tmp2_end;
15122  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
15123 
15124  _elements = tmpMeta[4];
15125  /* Pattern matching succeeded */
15126 #line 2818 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15127  tmpMeta[0] = _elements;
15128 #line 15128 OMC_FILE
15129  goto tmp2_done;
15130  }
15131  case 1: {
15132  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,9) == 0) goto tmp2_end;
15133  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15134  if (listEmpty(tmpMeta[1])) goto tmp2_end;
15135  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
15136  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
15137  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],1,2) == 0) goto tmp2_end;
15138  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
15139 
15140  _elements = tmpMeta[4];
15141  /* Pattern matching succeeded */
15142 #line 2819 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15143  tmpMeta[0] = _elements;
15144 #line 15144 OMC_FILE
15145  goto tmp2_done;
15146  }
15147  case 2: {
15148  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,3) == 0) goto tmp2_end;
15149 
15150  /* Pattern matching succeeded */
15151 #line 2820 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15152  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
15153 #line 2820 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15154  tmpMeta[0] = tmpMeta[1];
15155 #line 15155 OMC_FILE
15156  goto tmp2_done;
15157  }
15158  }
15159  goto tmp2_end;
15160  tmp2_end: ;
15161  }
15162  goto goto_1;
15163  goto_1:;
15164  MMC_THROW_INTERNAL();
15165  goto tmp2_done;
15166  tmp2_done:;
15167  }
15168  }
15169  _els = tmpMeta[0];
15170  _return: OMC_LABEL_UNUSED
15171  return _els;
15172 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getFunctionImpureAttribute()

DLLExport modelica_boolean omc_DAEUtil_getFunctionImpureAttribute ( threadData_t threadData,
modelica_metatype  _fn 
)

Definition at line 14977 of file DAEUtil.c.

14978 {
14979  modelica_boolean _outImpure;
14980  modelica_boolean tmp1 = 0;
14981  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
14982  MMC_SO();
14983  _tailrecursive: OMC_LABEL_UNUSED
14984 #line 14984 OMC_FILE
14985  { /* match expression */
14986  modelica_metatype tmp4_1;
14987  tmp4_1 = _fn;
14988  {
14989  volatile mmc_switch_type tmp4;
14990  int tmp5;
14991  tmp4 = 0;
14992  for (; tmp4 < 1; tmp4++) {
14993  switch (MMC_SWITCH_CAST(tmp4)) {
14994  case 0: {
14995  modelica_integer tmp6;
14996  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,9) == 0) goto tmp3_end;
14997  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 7));
14998  tmp6 = mmc_unbox_integer(tmpMeta[0]);
14999 
15000  _outImpure = tmp6 /* pattern as ty=Boolean */;
15001  /* Pattern matching succeeded */
15002 #line 2843 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15003  tmp1 = _outImpure;
15004 #line 15004 OMC_FILE
15005  goto tmp3_done;
15006  }
15007  }
15008  goto tmp3_end;
15009  tmp3_end: ;
15010  }
15011  goto goto_2;
15012  goto_2:;
15013  MMC_THROW_INTERNAL();
15014  goto tmp3_done;
15015  tmp3_done:;
15016  }
15017  }
15018  _outImpure = tmp1;
15019  _return: OMC_LABEL_UNUSED
15020  return _outImpure;
15021 }
m_integer modelica_integer
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getFunctionInlineType()

DLLExport modelica_metatype omc_DAEUtil_getFunctionInlineType ( threadData_t threadData,
modelica_metatype  _fn 
)

Definition at line 14933 of file DAEUtil.c.

14934 {
14935  modelica_metatype _outInlineType = NULL;
14936  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
14937  MMC_SO();
14938  _tailrecursive: OMC_LABEL_UNUSED
14939 #line 14939 OMC_FILE
14940  { /* match expression */
14941  modelica_metatype tmp3_1;
14942  tmp3_1 = _fn;
14943  {
14944  volatile mmc_switch_type tmp3;
14945  int tmp4;
14946  tmp3 = 0;
14947  for (; tmp3 < 1; tmp3++) {
14948  switch (MMC_SWITCH_CAST(tmp3)) {
14949  case 0: {
14950  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,9) == 0) goto tmp2_end;
14951  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 8));
14952 
14953  _outInlineType = tmpMeta[1];
14954  /* Pattern matching succeeded */
14955 #line 2853 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14956  tmpMeta[0] = _outInlineType;
14957 #line 14957 OMC_FILE
14958  goto tmp2_done;
14959  }
14960  }
14961  goto tmp2_end;
14962  tmp2_end: ;
14963  }
14964  goto goto_1;
14965  goto_1:;
14966  MMC_THROW_INTERNAL();
14967  goto tmp2_done;
14968  tmp2_done:;
14969  }
14970  }
14971  _outInlineType = tmpMeta[0];
14972  _return: OMC_LABEL_UNUSED
14973  return _outInlineType;
14974 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_getFunctionInputVars()

DLLExport modelica_metatype omc_DAEUtil_getFunctionInputVars ( threadData_t threadData,
modelica_metatype  _fn 
)

Definition at line 14915 of file DAEUtil.c.

14916 {
14917  modelica_metatype _outEls = NULL;
14918  modelica_metatype _elements = NULL;
14919  MMC_SO();
14920  _tailrecursive: OMC_LABEL_UNUSED
14921 #line 2863 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14922  _elements = omc_DAEUtil_getFunctionElements(threadData, _fn);
14923 #line 14923 OMC_FILE
14924 
14925 #line 2864 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14926  _outEls = omc_List_filterOnTrue(threadData, _elements, boxvar_DAEUtil_isInputVar);
14927 #line 14927 OMC_FILE
14928  _return: OMC_LABEL_UNUSED
14929  return _outEls;
14930 }
DLLExport modelica_metatype omc_List_filterOnTrue(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFilterFunc)
Definition: List.c:4218
DLLExport modelica_metatype omc_DAEUtil_getFunctionElements(threadData_t *threadData, modelica_metatype _fn)
Definition: DAEUtil.c:15098
void * modelica_metatype
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getFunctionList()

DLLExport modelica_metatype omc_DAEUtil_getFunctionList ( threadData_t threadData,
modelica_metatype  _ft,
modelica_boolean  _failOnError 
)

Definition at line 11467 of file DAEUtil.c.

11468 {
11469  modelica_metatype _fns = NULL;
11470  modelica_metatype _lst = NULL;
11471  modelica_metatype _lstInvalid = NULL;
11472  modelica_string _str = NULL;
11473  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
11474  MMC_SO();
11475  _tailrecursive: OMC_LABEL_UNUSED
11476 #line 11476 OMC_FILE
11477  { /* matchcontinue expression */
11478  {
11479  volatile mmc_switch_type tmp3;
11480  int tmp4;
11481  tmp3 = 0;
11482  MMC_TRY_INTERNAL(mmc_jumper)
11483  tmp2_top:
11484  threadData->mmc_jumper = &new_mmc_jumper;
11485  for (; tmp3 < 2; tmp3++) {
11486  switch (MMC_SWITCH_CAST(tmp3)) {
11487  case 0: {
11488  /* Pattern matching succeeded */
11489 #line 3831 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11490  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
11491 #line 3831 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11492  _fns = omc_List_map(threadData, omc_DAE_AvlTreePathFunction_listValues(threadData, _ft, tmpMeta[0]), boxvar_Util_getOption);
11493 #line 11493 OMC_FILE
11494 #line 11494 OMC_FILE
11495  goto tmp2_done;
11496  }
11497  case 1: {
11498  /* Pattern matching succeeded */
11499 #line 3833 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11500  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
11501 #line 3833 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11502  _lst = omc_DAE_AvlTreePathFunction_toList(threadData, _ft, tmpMeta[0]);
11503 #line 11503 OMC_FILE
11504 
11505 #line 3834 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11506  _lstInvalid = omc_List_select(threadData, _lst, boxvar_DAEUtil_isInvalidFunctionEntry);
11507 #line 11507 OMC_FILE
11508 
11509 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11510  {
11511 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11512  modelica_metatype _$tmpVar5;
11513 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11514  modelica_metatype* tmp5;
11515 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11516  modelica_string _$tmpVar4;
11517 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11518  int tmp6;
11519 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11520  modelica_metatype p_loopVar = 0;
11521 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11522  modelica_metatype _p;
11523 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11524  p_loopVar = omc_List_map(threadData, _lstInvalid, boxvar_Util_tuple21);
11525 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11526  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
11527 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11528  _$tmpVar5 = tmpMeta[1]; /* defaultValue */
11529 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11530  tmp5 = &_$tmpVar5;
11531 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11532  while(1) {
11533 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11534  tmp6 = 1;
11535 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11536  if (!listEmpty(p_loopVar)) {
11537 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11538  _p = MMC_CAR(p_loopVar);
11539 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11540  p_loopVar = MMC_CDR(p_loopVar);
11541 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11542  tmp6--;
11543 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11544  }
11545 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11546  if (tmp6 == 0) {
11547 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11548  _$tmpVar4 = omc_Absyn_pathString(threadData, _p, _OMC_LIT29, 1, 0);
11549 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11550  *tmp5 = mmc_mk_cons(_$tmpVar4,0);
11551 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11552  tmp5 = &MMC_CDR(*tmp5);
11553 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11554  } else if (tmp6 == 1) {
11555 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11556  break;
11557 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11558  } else {
11559 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11560  goto goto_1;
11561 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11562  }
11563 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11564  }
11565 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11566  *tmp5 = mmc_mk_nil();
11567 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11568  tmpMeta[0] = _$tmpVar5;
11569 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11570  }
11571 #line 3835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11572  _str = stringDelimitList(tmpMeta[0], _OMC_LIT83);
11573 #line 11573 OMC_FILE
11574 
11575 #line 3836 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11576  tmpMeta[0] = stringAppend(_OMC_LIT83,_str);
11577 #line 3836 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11578  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT28);
11579 #line 3836 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11580  _str = tmpMeta[1];
11581 #line 11581 OMC_FILE
11582 
11583 #line 3837 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11584  tmpMeta[0] = mmc_mk_cons(_str, MMC_REFSTRUCTLIT(mmc_nil));
11585 #line 3837 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11586  omc_Error_addMessage(threadData, _OMC_LIT86, tmpMeta[0]);
11587 #line 11587 OMC_FILE
11588 
11589 #line 3838 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11590  if(_failOnError)
11591 #line 3838 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11592  {
11593 #line 3839 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11594  goto goto_1;
11595 #line 11595 OMC_FILE
11596  }
11597 
11598 #line 3841 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11599  _fns = omc_List_mapMap(threadData, omc_List_select(threadData, _lst, boxvar_DAEUtil_isValidFunctionEntry), boxvar_Util_tuple22, boxvar_Util_getOption);
11600 #line 11600 OMC_FILE
11601 #line 11601 OMC_FILE
11602  goto tmp2_done;
11603  }
11604  }
11605  goto tmp2_end;
11606  tmp2_end: ;
11607  }
11608  goto goto_1;
11609  tmp2_done:
11610  (void)tmp3;
11611  MMC_RESTORE_INTERNAL(mmc_jumper);
11612  goto tmp2_done2;
11613  goto_1:;
11614  MMC_CATCH_INTERNAL(mmc_jumper);
11615  if (++tmp3 < 2) {
11616  goto tmp2_top;
11617  }
11618  MMC_THROW_INTERNAL();
11619  tmp2_done2:;
11620  }
11621  }
11622  ;
11623  _return: OMC_LABEL_UNUSED
11624  return _fns;
11625 }
DLLExport modelica_metatype omc_DAE_AvlTreePathFunction_toList(threadData_t *threadData, modelica_metatype _inTree, modelica_metatype _ $in_lst)
Definition: DAE.c:2584
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
modelica_metatype modelica_string
float mmc_switch_type
DLLExport modelica_metatype omc_DAE_AvlTreePathFunction_listValues(threadData_t *threadData, modelica_metatype _tree, modelica_metatype _ $in_lst)
Definition: DAE.c:1682
DLLExport modelica_metatype omc_List_map(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc)
Definition: List.c:13453
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport void omc_Error_addMessage(threadData_t *threadData, modelica_metatype _inErrorMsg, modelica_metatype _inMessageTokens)
Definition: Error.c:1082
void * modelica_metatype
void *(* omc_Absyn_pathString)(threadData_t *, void *, void *, int, int)
DLLExport modelica_metatype omc_List_select(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFilterFunc)
Definition: List.c:3421
metamodelica_string stringDelimitList(modelica_metatype lst, metamodelica_string_const delimiter)
DLLExport modelica_metatype omc_List_mapMap(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inMapFunc1, modelica_fnptr _inMapFunc2)
Definition: List.c:11163
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getFunctionNames()

DLLExport modelica_metatype omc_DAEUtil_getFunctionNames ( threadData_t threadData,
modelica_metatype  _ft 
)

Definition at line 11454 of file DAEUtil.c.

11455 {
11456  modelica_metatype _strs = NULL;
11457  MMC_SO();
11458  _tailrecursive: OMC_LABEL_UNUSED
11459 #line 3849 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11460  _strs = omc_List_mapMap(threadData, omc_DAEUtil_getFunctionList(threadData, _ft, 0), boxvar_DAEUtil_functionName, boxvar_Absyn_pathStringDefault);
11461 #line 11461 OMC_FILE
11462  _return: OMC_LABEL_UNUSED
11463  return _strs;
11464 }
DLLExport modelica_metatype omc_DAEUtil_getFunctionList(threadData_t *threadData, modelica_metatype _ft, modelica_boolean _failOnError)
Definition: DAEUtil.c:11467
void * modelica_metatype
DLLExport modelica_metatype omc_List_mapMap(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inMapFunc1, modelica_fnptr _inMapFunc2)
Definition: List.c:11163
Here is the call graph for this function:

◆ omc_DAEUtil_getFunctionOutputVars()

DLLExport modelica_metatype omc_DAEUtil_getFunctionOutputVars ( threadData_t threadData,
modelica_metatype  _fn 
)

Definition at line 14897 of file DAEUtil.c.

14898 {
14899  modelica_metatype _outEls = NULL;
14900  modelica_metatype _elements = NULL;
14901  MMC_SO();
14902  _tailrecursive: OMC_LABEL_UNUSED
14903 #line 2873 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14904  _elements = omc_DAEUtil_getFunctionElements(threadData, _fn);
14905 #line 14905 OMC_FILE
14906 
14907 #line 2874 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14908  _outEls = omc_List_filterOnTrue(threadData, _elements, boxvar_DAEUtil_isOutputVar);
14909 #line 14909 OMC_FILE
14910  _return: OMC_LABEL_UNUSED
14911  return _outEls;
14912 }
DLLExport modelica_metatype omc_List_filterOnTrue(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFilterFunc)
Definition: List.c:4218
DLLExport modelica_metatype omc_DAEUtil_getFunctionElements(threadData_t *threadData, modelica_metatype _fn)
Definition: DAEUtil.c:15098
void * modelica_metatype
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getFunctionProtectedVars()

DLLExport modelica_metatype omc_DAEUtil_getFunctionProtectedVars ( threadData_t threadData,
modelica_metatype  _fn 
)

Definition at line 14879 of file DAEUtil.c.

14880 {
14881  modelica_metatype _outEls = NULL;
14882  modelica_metatype _elements = NULL;
14883  MMC_SO();
14884  _tailrecursive: OMC_LABEL_UNUSED
14885 #line 2883 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14886  _elements = omc_DAEUtil_getFunctionElements(threadData, _fn);
14887 #line 14887 OMC_FILE
14888 
14889 #line 2884 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14890  _outEls = omc_List_filterOnTrue(threadData, _elements, boxvar_DAEUtil_isProtectedVar);
14891 #line 14891 OMC_FILE
14892  _return: OMC_LABEL_UNUSED
14893  return _outEls;
14894 }
DLLExport modelica_metatype omc_List_filterOnTrue(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFilterFunc)
Definition: List.c:4218
DLLExport modelica_metatype omc_DAEUtil_getFunctionElements(threadData_t *threadData, modelica_metatype _fn)
Definition: DAEUtil.c:15098
void * modelica_metatype
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getFunctionsElements()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getFunctionsElements ( threadData_t threadData,
modelica_metatype  _elements 
)

Definition at line 15174 of file DAEUtil.c.

15175 {
15176  modelica_metatype _els = NULL;
15177  modelica_metatype _elsList = NULL;
15178  MMC_SO();
15179  _tailrecursive: OMC_LABEL_UNUSED
15180 #line 2807 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15181  _elsList = omc_List_map(threadData, _elements, boxvar_DAEUtil_getFunctionElements);
15182 #line 15182 OMC_FILE
15183 
15184 #line 2808 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15185  _els = omc_List_flatten(threadData, _elsList);
15186 #line 15186 OMC_FILE
15187  _return: OMC_LABEL_UNUSED
15188  return _els;
15189 }
DLLExport modelica_metatype omc_List_flatten(threadData_t *threadData, modelica_metatype _inList)
Definition: List.c:8242
DLLExport modelica_metatype omc_List_map(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc)
Definition: List.c:13453
void * modelica_metatype
Here is the call graph for this function:

◆ omc_DAEUtil_getFunctionsInfo()

DLLExport modelica_metatype omc_DAEUtil_getFunctionsInfo ( threadData_t threadData,
modelica_metatype  _ft 
)

Definition at line 4143 of file DAEUtil.c.

4144 {
4145  modelica_metatype _strs = NULL;
4146  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
4147  MMC_SO();
4148  _tailrecursive: OMC_LABEL_UNUSED
4149 #line 4149 OMC_FILE
4150  { /* match expression */
4151  {
4152  modelica_metatype _lst = NULL;
4153  volatile mmc_switch_type tmp3;
4154  int tmp4;
4155  tmp3 = 0;
4156  for (; tmp3 < 1; tmp3++) {
4157  switch (MMC_SWITCH_CAST(tmp3)) {
4158  case 0: {
4159  /* Pattern matching succeeded */
4160 #line 5645 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4161  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
4162 #line 5645 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4163  _lst = omc_DAE_AvlTreePathFunction_toList(threadData, _ft, tmpMeta[1]);
4164 #line 4164 OMC_FILE
4165 
4166 #line 5646 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4167  _strs = omc_List_map(threadData, _lst, boxvar_DAEUtil_getInfo);
4168 #line 4168 OMC_FILE
4169 #line 5647 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4170  tmpMeta[0] = omc_List_sort(threadData, _strs, boxvar_Util_strcmpBool);
4171 #line 4171 OMC_FILE
4172  goto tmp2_done;
4173  }
4174  }
4175  goto tmp2_end;
4176  tmp2_end: ;
4177  }
4178  goto goto_1;
4179  goto_1:;
4180  MMC_THROW_INTERNAL();
4181  goto tmp2_done;
4182  tmp2_done:;
4183  }
4184  }
4185  _strs = tmpMeta[0];
4186  _return: OMC_LABEL_UNUSED
4187  return _strs;
4188 }
DLLExport modelica_metatype omc_DAE_AvlTreePathFunction_toList(threadData_t *threadData, modelica_metatype _inTree, modelica_metatype _ $in_lst)
Definition: DAE.c:2584
float mmc_switch_type
DLLExport modelica_metatype omc_List_map(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc)
Definition: List.c:13453
DLLExport modelica_metatype omc_List_sort(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inCompFunc)
Definition: List.c:16775
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getFunctionType()

DLLExport modelica_metatype omc_DAEUtil_getFunctionType ( threadData_t threadData,
modelica_metatype  _fn 
)

Definition at line 15032 of file DAEUtil.c.

15033 {
15034  modelica_metatype _outType = NULL;
15035  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
15036  MMC_SO();
15037  _tailrecursive: OMC_LABEL_UNUSED
15038 #line 15038 OMC_FILE
15039  { /* match expression */
15040  modelica_metatype tmp3_1;
15041  tmp3_1 = _fn;
15042  {
15043  volatile mmc_switch_type tmp3;
15044  int tmp4;
15045  tmp3 = 0;
15046  for (; tmp3 < 3; tmp3++) {
15047  switch (MMC_SWITCH_CAST(tmp3)) {
15048  case 0: {
15049  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,9) == 0) goto tmp2_end;
15050  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
15051 
15052  _outType = tmpMeta[1];
15053  /* Pattern matching succeeded */
15054 #line 2831 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15055  tmpMeta[0] = _outType;
15056 #line 15056 OMC_FILE
15057  goto tmp2_done;
15058  }
15059  case 1: {
15060  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,9) == 0) goto tmp2_end;
15061  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
15062 
15063  _outType = tmpMeta[1];
15064  /* Pattern matching succeeded */
15065 #line 2832 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15066  tmpMeta[0] = _outType;
15067 #line 15067 OMC_FILE
15068  goto tmp2_done;
15069  }
15070  case 2: {
15071  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,3) == 0) goto tmp2_end;
15072  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15073 
15074  _outType = tmpMeta[1];
15075  /* Pattern matching succeeded */
15076 #line 2833 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15077  tmpMeta[0] = _outType;
15078 #line 15078 OMC_FILE
15079  goto tmp2_done;
15080  }
15081  }
15082  goto tmp2_end;
15083  tmp2_end: ;
15084  }
15085  goto goto_1;
15086  goto_1:;
15087  MMC_THROW_INTERNAL();
15088  goto tmp2_done;
15089  tmp2_done:;
15090  }
15091  }
15092  _outType = tmpMeta[0];
15093  _return: OMC_LABEL_UNUSED
15094  return _outType;
15095 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getFunctionVisibility()

DLLExport modelica_metatype omc_DAEUtil_getFunctionVisibility ( threadData_t threadData,
modelica_metatype  _fn 
)

Definition at line 15192 of file DAEUtil.c.

15193 {
15194  modelica_metatype _visibility = NULL;
15195  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
15196  MMC_SO();
15197  _tailrecursive: OMC_LABEL_UNUSED
15198 #line 15198 OMC_FILE
15199  { /* match expression */
15200  modelica_metatype tmp3_1;
15201  tmp3_1 = _fn;
15202  {
15203  volatile mmc_switch_type tmp3;
15204  int tmp4;
15205  tmp3 = 0;
15206  for (; tmp3 < 2; tmp3++) {
15207  switch (MMC_SWITCH_CAST(tmp3)) {
15208  case 0: {
15209  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,9) == 0) goto tmp2_end;
15210  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
15211 
15212  _visibility = tmpMeta[1];
15213  /* Pattern matching succeeded */
15214 #line 2796 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15215  tmpMeta[0] = _visibility;
15216 #line 15216 OMC_FILE
15217  goto tmp2_done;
15218  }
15219  case 1: {
15220 
15221  /* Pattern matching succeeded */
15222 #line 2797 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15223  tmpMeta[0] = _OMC_LIT22;
15224 #line 15224 OMC_FILE
15225  goto tmp2_done;
15226  }
15227  }
15228  goto tmp2_end;
15229  tmp2_end: ;
15230  }
15231  goto goto_1;
15232  goto_1:;
15233  MMC_THROW_INTERNAL();
15234  goto tmp2_done;
15235  tmp2_done:;
15236  }
15237  }
15238  _visibility = tmpMeta[0];
15239  _return: OMC_LABEL_UNUSED
15240  return _visibility;
15241 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getInfo()

DLLExport modelica_string omc_DAEUtil_getInfo ( threadData_t threadData,
modelica_metatype  _tpl 
)

Definition at line 4081 of file DAEUtil.c.

4082 {
4083  modelica_string _str = NULL;
4084  modelica_string tmp1 = 0;
4085  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
4086  MMC_SO();
4087  _tailrecursive: OMC_LABEL_UNUSED
4088 #line 4088 OMC_FILE
4089  { /* match expression */
4090  modelica_metatype tmp4_1;
4091  tmp4_1 = _tpl;
4092  {
4093  modelica_metatype _p = NULL;
4094  volatile mmc_switch_type tmp4;
4095  int tmp5;
4096  tmp4 = 0;
4097  for (; tmp4 < 2; tmp4++) {
4098  switch (MMC_SWITCH_CAST(tmp4)) {
4099  case 0: {
4100  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
4101  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
4102  if (!optionNone(tmpMeta[1])) goto tmp3_end;
4103  _p = tmpMeta[0];
4104  /* Pattern matching succeeded */
4105 #line 5663 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4106  tmpMeta[0] = stringAppend(omc_Absyn_pathString(threadData, _p, _OMC_LIT29, 1, 0),_OMC_LIT30);
4107 #line 5663 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4108  tmp1 = tmpMeta[0];
4109 #line 4109 OMC_FILE
4110  goto tmp3_done;
4111  }
4112  case 1: {
4113  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
4114  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
4115  if (optionNone(tmpMeta[1])) goto tmp3_end;
4116  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
4117  _p = tmpMeta[0];
4118  /* Pattern matching succeeded */
4119 #line 5668 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4120  tmpMeta[0] = stringAppend(omc_Absyn_pathString(threadData, _p, _OMC_LIT29, 1, 0),_OMC_LIT31);
4121 #line 5668 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4122  tmp1 = tmpMeta[0];
4123 #line 4123 OMC_FILE
4124  goto tmp3_done;
4125  }
4126  }
4127  goto tmp3_end;
4128  tmp3_end: ;
4129  }
4130  goto goto_2;
4131  goto_2:;
4132  MMC_THROW_INTERNAL();
4133  goto tmp3_done;
4134  tmp3_done:;
4135  }
4136  }
4137  _str = tmp1;
4138  _return: OMC_LABEL_UNUSED
4139  return _str;
4140 }
modelica_metatype modelica_string
float mmc_switch_type
modelica_string stringAppend(modelica_string s1, modelica_string s2)
void * modelica_metatype
void *(* omc_Absyn_pathString)(threadData_t *, void *, void *, int, int)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_getInputVars()

DLLExport modelica_metatype omc_DAEUtil_getInputVars ( threadData_t threadData,
modelica_metatype  _vl 
)

Definition at line 19894 of file DAEUtil.c.

19895 {
19896  modelica_metatype _vl_1 = NULL;
19897  MMC_SO();
19898  _tailrecursive: OMC_LABEL_UNUSED
19899 #line 1639 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19900  _vl_1 = omc_DAEUtil_getMatchingElements(threadData, _vl, boxvar_DAEUtil_isInput);
19901 #line 19901 OMC_FILE
19902  _return: OMC_LABEL_UNUSED
19903  return _vl_1;
19904 }
DLLExport modelica_metatype omc_DAEUtil_getMatchingElements(threadData_t *threadData, modelica_metatype _elist, modelica_fnptr _cond)
Definition: DAEUtil.c:20677
void * modelica_metatype
Here is the call graph for this function:

◆ omc_DAEUtil_getMatchingElements()

DLLExport modelica_metatype omc_DAEUtil_getMatchingElements ( threadData_t threadData,
modelica_metatype  _elist,
modelica_fnptr  _cond 
)

Definition at line 20677 of file DAEUtil.c.

20678 {
20679  modelica_metatype _oelist = NULL;
20680  MMC_SO();
20681  _tailrecursive: OMC_LABEL_UNUSED
20682 #line 1397 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20683  _oelist = omc_List_filterOnTrue(threadData, _elist, ((modelica_fnptr) _cond));
20684 #line 20684 OMC_FILE
20685  _return: OMC_LABEL_UNUSED
20686  return _oelist;
20687 }
DLLExport modelica_metatype omc_List_filterOnTrue(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFilterFunc)
Definition: List.c:4218
void * modelica_fnptr
void * modelica_metatype
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getMaxAttrFail()

DLLExport modelica_metatype omc_DAEUtil_getMaxAttrFail ( threadData_t threadData,
modelica_metatype  _inVariableAttributesOption 
)

Definition at line 22856 of file DAEUtil.c.

22857 {
22858  modelica_metatype _outMax = NULL;
22859  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
22860  MMC_SO();
22861  _tailrecursive: OMC_LABEL_UNUSED
22862 #line 964 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22863  /* Pattern-matching assignment */
22864 #line 964 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22865  tmpMeta[0] = _inVariableAttributesOption;
22866 #line 964 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22867  if (optionNone(tmpMeta[0])) MMC_THROW_INTERNAL();
22868 #line 964 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22869  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1));
22870 #line 964 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22871  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) MMC_THROW_INTERNAL();
22872 #line 964 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22873  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
22874 #line 964 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22875  if (optionNone(tmpMeta[2])) MMC_THROW_INTERNAL();
22876 #line 964 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22877  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
22878 #line 964 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22879  _outMax = tmpMeta[3];
22880 #line 22880 OMC_FILE
22881  _return: OMC_LABEL_UNUSED
22882  return _outMax;
22883 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getMinAttrFail()

DLLExport modelica_metatype omc_DAEUtil_getMinAttrFail ( threadData_t threadData,
modelica_metatype  _inVariableAttributesOption 
)

Definition at line 22886 of file DAEUtil.c.

22887 {
22888  modelica_metatype _outMin = NULL;
22889  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
22890  MMC_SO();
22891  _tailrecursive: OMC_LABEL_UNUSED
22892 #line 956 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22893  /* Pattern-matching assignment */
22894 #line 956 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22895  tmpMeta[0] = _inVariableAttributesOption;
22896 #line 956 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22897  if (optionNone(tmpMeta[0])) MMC_THROW_INTERNAL();
22898 #line 956 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22899  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1));
22900 #line 956 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22901  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) MMC_THROW_INTERNAL();
22902 #line 956 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22903  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
22904 #line 956 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22905  if (optionNone(tmpMeta[2])) MMC_THROW_INTERNAL();
22906 #line 956 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22907  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
22908 #line 956 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22909  _outMin = tmpMeta[3];
22910 #line 22910 OMC_FILE
22911  _return: OMC_LABEL_UNUSED
22912  return _outMin;
22913 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getMinMax()

DLLExport modelica_metatype omc_DAEUtil_getMinMax ( threadData_t threadData,
modelica_metatype  _inVariableAttributesOption 
)

Definition at line 23617 of file DAEUtil.c.

23618 {
23619  modelica_metatype _oExps = NULL;
23620  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
23621  MMC_SO();
23622  _tailrecursive: OMC_LABEL_UNUSED
23623 #line 23623 OMC_FILE
23624  { /* match expression */
23625  modelica_metatype tmp3_1;
23626  tmp3_1 = _inVariableAttributesOption;
23627  {
23628  modelica_metatype _e1 = NULL;
23629  modelica_metatype _e2 = NULL;
23630  volatile mmc_switch_type tmp3;
23631  int tmp4;
23632  tmp3 = 0;
23633  for (; tmp3 < 4; tmp3++) {
23634  switch (MMC_SWITCH_CAST(tmp3)) {
23635  case 0: {
23636  if (optionNone(tmp3_1)) goto tmp2_end;
23637  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23638  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,9) == 0) goto tmp2_end;
23639  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
23640  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
23641 
23642  _e1 = tmpMeta[2];
23643  _e2 = tmpMeta[3];
23644  /* Pattern matching succeeded */
23645 #line 830 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23646  tmpMeta[1] = mmc_mk_cons(_e1, mmc_mk_cons(_e2, MMC_REFSTRUCTLIT(mmc_nil)));
23647 #line 830 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23648  tmpMeta[0] = tmpMeta[1];
23649 #line 23649 OMC_FILE
23650  goto tmp2_done;
23651  }
23652  case 1: {
23653  if (optionNone(tmp3_1)) goto tmp2_end;
23654  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23655  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,11) == 0) goto tmp2_end;
23656  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
23657  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
23658 
23659  _e1 = tmpMeta[2];
23660  _e2 = tmpMeta[3];
23661  /* Pattern matching succeeded */
23662 #line 831 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23663  tmpMeta[1] = mmc_mk_cons(_e1, mmc_mk_cons(_e2, MMC_REFSTRUCTLIT(mmc_nil)));
23664 #line 831 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23665  tmpMeta[0] = tmpMeta[1];
23666 #line 23666 OMC_FILE
23667  goto tmp2_done;
23668  }
23669  case 2: {
23670  if (optionNone(tmp3_1)) goto tmp2_end;
23671  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23672  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
23673  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
23674  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
23675 
23676  _e1 = tmpMeta[2];
23677  _e2 = tmpMeta[3];
23678  /* Pattern matching succeeded */
23679 #line 832 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23680  tmpMeta[1] = mmc_mk_cons(_e1, mmc_mk_cons(_e2, MMC_REFSTRUCTLIT(mmc_nil)));
23681 #line 832 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23682  tmpMeta[0] = tmpMeta[1];
23683 #line 23683 OMC_FILE
23684  goto tmp2_done;
23685  }
23686  case 3: {
23687 
23688  /* Pattern matching succeeded */
23689 #line 833 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23690  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
23691 #line 833 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23692  tmpMeta[0] = tmpMeta[1];
23693 #line 23693 OMC_FILE
23694  goto tmp2_done;
23695  }
23696  }
23697  goto tmp2_end;
23698  tmp2_end: ;
23699  }
23700  goto goto_1;
23701  goto_1:;
23702  MMC_THROW_INTERNAL();
23703  goto tmp2_done;
23704  tmp2_done:;
23705  }
23706  }
23707  _oExps = tmpMeta[0];
23708  _return: OMC_LABEL_UNUSED
23709  return _oExps;
23710 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getMinMaxValues()

DLLExport modelica_metatype omc_DAEUtil_getMinMaxValues ( threadData_t threadData,
modelica_metatype  _inVariableAttributesOption,
modelica_metatype out_outMaxValue 
)

Definition at line 23514 of file DAEUtil.c.

23515 {
23516  modelica_metatype _outMinValue = NULL;
23517  modelica_metatype _outMaxValue = NULL;
23518  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
23519  MMC_SO();
23520  _tailrecursive: OMC_LABEL_UNUSED
23521 #line 843 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23522 
23523 #line 843 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23524 
23525 #line 23525 OMC_FILE
23526  { /* match expression */
23527  modelica_metatype tmp4_1;
23528  tmp4_1 = _inVariableAttributesOption;
23529  {
23530  modelica_metatype _minValue = NULL;
23531  modelica_metatype _maxValue = NULL;
23532  volatile mmc_switch_type tmp4;
23533  int tmp5;
23534  tmp4 = 0;
23535  for (; tmp4 < 4; tmp4++) {
23536  switch (MMC_SWITCH_CAST(tmp4)) {
23537  case 0: {
23538  if (optionNone(tmp4_1)) goto tmp3_end;
23539  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
23540  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],5,9) == 0) goto tmp3_end;
23541  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
23542  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
23543 
23544  _minValue = tmpMeta[3];
23545  _maxValue = tmpMeta[4];
23546  /* Pattern matching succeeded */
23547 #line 848 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23548  tmpMeta[0+0] = _minValue;
23549 #line 848 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23550  tmpMeta[0+1] = _maxValue;
23551 #line 23551 OMC_FILE
23552  goto tmp3_done;
23553  }
23554  case 1: {
23555  if (optionNone(tmp4_1)) goto tmp3_end;
23556  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
23557  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],1,11) == 0) goto tmp3_end;
23558  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
23559  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
23560 
23561  _minValue = tmpMeta[3];
23562  _maxValue = tmpMeta[4];
23563  /* Pattern matching succeeded */
23564 #line 851 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23565  tmpMeta[0+0] = _minValue;
23566 #line 851 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23567  tmpMeta[0+1] = _maxValue;
23568 #line 23568 OMC_FILE
23569  goto tmp3_done;
23570  }
23571  case 2: {
23572  if (optionNone(tmp4_1)) goto tmp3_end;
23573  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
23574  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,15) == 0) goto tmp3_end;
23575  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
23576  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 6));
23577 
23578  _minValue = tmpMeta[3];
23579  _maxValue = tmpMeta[4];
23580  /* Pattern matching succeeded */
23581 #line 854 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23582  tmpMeta[0+0] = _minValue;
23583 #line 854 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23584  tmpMeta[0+1] = _maxValue;
23585 #line 23585 OMC_FILE
23586  goto tmp3_done;
23587  }
23588  case 3: {
23589 
23590  /* Pattern matching succeeded */
23591 #line 856 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23592  tmpMeta[0+0] = mmc_mk_none();
23593 #line 856 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23594  tmpMeta[0+1] = mmc_mk_none();
23595 #line 23595 OMC_FILE
23596  goto tmp3_done;
23597  }
23598  }
23599  goto tmp3_end;
23600  tmp3_end: ;
23601  }
23602  goto goto_2;
23603  goto_2:;
23604  MMC_THROW_INTERNAL();
23605  goto tmp3_done;
23606  tmp3_done:;
23607  }
23608  }
23609  _outMinValue = tmpMeta[0+0];
23610  _outMaxValue = tmpMeta[0+1];
23611  _return: OMC_LABEL_UNUSED
23612  if (out_outMaxValue) { *out_outMaxValue = _outMaxValue; }
23613  return _outMinValue;
23614 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getNamedFunction()

DLLExport modelica_metatype omc_DAEUtil_getNamedFunction ( threadData_t threadData,
modelica_metatype  _path,
modelica_metatype  _functions 
)

Definition at line 15423 of file DAEUtil.c.

15424 {
15425  modelica_metatype _outElement = NULL;
15426  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
15427  MMC_SO();
15428  _tailrecursive: OMC_LABEL_UNUSED
15429 #line 15429 OMC_FILE
15430  { /* matchcontinue expression */
15431  {
15432  modelica_string _msg = NULL;
15433  volatile mmc_switch_type tmp3;
15434  int tmp4;
15435  tmp3 = 0;
15436  MMC_TRY_INTERNAL(mmc_jumper)
15437  tmp2_top:
15438  threadData->mmc_jumper = &new_mmc_jumper;
15439  for (; tmp3 < 2; tmp3++) {
15440  switch (MMC_SWITCH_CAST(tmp3)) {
15441  case 0: {
15442  /* Pattern matching succeeded */
15443 #line 2737 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15444  tmpMeta[0] = omc_Util_getOption(threadData, omc_DAE_AvlTreePathFunction_get(threadData, _functions, _path));
15445 #line 15445 OMC_FILE
15446  goto tmp2_done;
15447  }
15448  case 1: {
15449  modelica_boolean tmp5;
15450  /* Pattern matching succeeded */
15451 #line 2740 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15452  /* Pattern-matching assignment */
15453 #line 2740 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15454  tmp5 = omc_Flags_isSet(threadData, _OMC_LIT81);
15455 #line 2740 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15456  if (1 != tmp5) goto goto_1;
15457 #line 15457 OMC_FILE
15458 
15459 #line 2741 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15460  _msg = stringDelimitList(omc_List_mapMap(threadData, omc_DAEUtil_getFunctionList(threadData, _functions, 0), boxvar_DAEUtil_functionName, boxvar_Absyn_pathStringDefault), _OMC_LIT26);
15461 #line 15461 OMC_FILE
15462 
15463 #line 2742 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15464  tmpMeta[1] = stringAppend(_OMC_LIT125,omc_Absyn_pathString(threadData, _path, _OMC_LIT29, 1, 0));
15465 #line 2742 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15466  tmpMeta[2] = stringAppend(tmpMeta[1],_OMC_LIT126);
15467 #line 2742 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15468  tmpMeta[3] = stringAppend(tmpMeta[2],_msg);
15469 #line 2742 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15470  _msg = tmpMeta[3];
15471 #line 15471 OMC_FILE
15472 
15473 #line 2744 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15474  omc_Debug_traceln(threadData, _msg);
15475 #line 15475 OMC_FILE
15476 #line 2745 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15477  goto goto_1;
15478 #line 15478 OMC_FILE
15479  goto tmp2_done;
15480  }
15481  }
15482  goto tmp2_end;
15483  tmp2_end: ;
15484  }
15485  goto goto_1;
15486  tmp2_done:
15487  (void)tmp3;
15488  MMC_RESTORE_INTERNAL(mmc_jumper);
15489  goto tmp2_done2;
15490  goto_1:;
15491  MMC_CATCH_INTERNAL(mmc_jumper);
15492  if (++tmp3 < 2) {
15493  goto tmp2_top;
15494  }
15495  MMC_THROW_INTERNAL();
15496  tmp2_done2:;
15497  }
15498  }
15499  _outElement = tmpMeta[0];
15500  _return: OMC_LABEL_UNUSED
15501  return _outElement;
15502 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
modelica_metatype modelica_string
signed char modelica_boolean
DLLExport modelica_metatype omc_DAEUtil_getFunctionList(threadData_t *threadData, modelica_metatype _ft, modelica_boolean _failOnError)
Definition: DAEUtil.c:11467
float mmc_switch_type
DLLExport modelica_boolean omc_Flags_isSet(threadData_t *threadData, modelica_metatype _inFlag)
Definition: Flags.c:11632
DLLExport modelica_metatype omc_Util_getOption(threadData_t *threadData, modelica_metatype _inOption)
Definition: Util.c:3546
DLLExport modelica_metatype omc_DAE_AvlTreePathFunction_get(threadData_t *threadData, modelica_metatype _tree, modelica_metatype _key)
Definition: DAE.c:873
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport void omc_Debug_traceln(threadData_t *threadData, modelica_string _str)
Definition: Debug.c:17
void * modelica_metatype
void *(* omc_Absyn_pathString)(threadData_t *, void *, void *, int, int)
metamodelica_string stringDelimitList(modelica_metatype lst, metamodelica_string_const delimiter)
DLLExport modelica_metatype omc_List_mapMap(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inMapFunc1, modelica_fnptr _inMapFunc2)
Definition: List.c:11163
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getNamedFunctionFromList()

DLLExport modelica_metatype omc_DAEUtil_getNamedFunctionFromList ( threadData_t threadData,
modelica_metatype  _ipath,
modelica_metatype  _ifns 
)

Definition at line 15244 of file DAEUtil.c.

15245 {
15246  modelica_metatype _fn = NULL;
15247  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
15248  MMC_SO();
15249  _tailrecursive: OMC_LABEL_UNUSED
15250 #line 15250 OMC_FILE
15251  { /* matchcontinue expression */
15252  volatile modelica_metatype tmp3_1;volatile modelica_metatype tmp3_2;
15253  tmp3_1 = _ipath;
15254  tmp3_2 = _ifns;
15255  {
15256  modelica_metatype _path = NULL;
15257  modelica_metatype _fns = NULL;
15258  volatile mmc_switch_type tmp3;
15259  int tmp4;
15260  tmp3 = 0;
15261  MMC_TRY_INTERNAL(mmc_jumper)
15262  tmp2_top:
15263  threadData->mmc_jumper = &new_mmc_jumper;
15264  for (; tmp3 < 3; tmp3++) {
15265  switch (MMC_SWITCH_CAST(tmp3)) {
15266  case 0: {
15267  modelica_boolean tmp5;
15268  if (listEmpty(tmp3_2)) goto tmp2_end;
15269  tmpMeta[1] = MMC_CAR(tmp3_2);
15270  tmpMeta[2] = MMC_CDR(tmp3_2);
15271 
15272  _fn = tmpMeta[1];
15273  _path = tmp3_1;
15274  /* Pattern matching succeeded */
15275 #line 2779 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15276  /* Pattern-matching assignment */
15277 #line 2779 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15278  tmp5 = omc_Absyn_pathEqual(threadData, omc_DAEUtil_functionName(threadData, _fn), _path);
15279 #line 2779 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15280  if (1 != tmp5) goto goto_1;
15281 #line 15281 OMC_FILE
15282 #line 2780 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15283  tmpMeta[0] = _fn;
15284 #line 15284 OMC_FILE
15285  goto tmp2_done;
15286  }
15287  case 1: {
15288  if (listEmpty(tmp3_2)) goto tmp2_end;
15289  tmpMeta[1] = MMC_CAR(tmp3_2);
15290  tmpMeta[2] = MMC_CDR(tmp3_2);
15291 
15292  _fns = tmpMeta[2];
15293  _path = tmp3_1;
15294  tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
15295 #line 2781 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15296  tmpMeta[0] = omc_DAEUtil_getNamedFunctionFromList(threadData, _path, _fns);
15297 #line 15297 OMC_FILE
15298  goto tmp2_done;
15299  }
15300  case 2: {
15301  modelica_boolean tmp6;
15302  if (!listEmpty(tmp3_2)) goto tmp2_end;
15303 
15304  _path = tmp3_1;
15305  /* Pattern matching succeeded */
15306 #line 2784 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15307  /* Pattern-matching assignment */
15308 #line 2784 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15309  tmp6 = omc_Flags_isSet(threadData, _OMC_LIT81);
15310 #line 2784 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15311  if (1 != tmp6) goto goto_1;
15312 #line 15312 OMC_FILE
15313 
15314 #line 2785 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15315  tmpMeta[1] = stringAppend(_OMC_LIT124,omc_Absyn_pathString(threadData, _path, _OMC_LIT29, 1, 0));
15316 #line 2785 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15317  omc_Debug_traceln(threadData, tmpMeta[1]);
15318 #line 15318 OMC_FILE
15319 #line 2786 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15320  goto goto_1;
15321 #line 15321 OMC_FILE
15322  goto tmp2_done;
15323  }
15324  }
15325  goto tmp2_end;
15326  tmp2_end: ;
15327  }
15328  goto goto_1;
15329  tmp2_done:
15330  (void)tmp3;
15331  MMC_RESTORE_INTERNAL(mmc_jumper);
15332  goto tmp2_done2;
15333  goto_1:;
15334  MMC_CATCH_INTERNAL(mmc_jumper);
15335  if (++tmp3 < 3) {
15336  goto tmp2_top;
15337  }
15338  MMC_THROW_INTERNAL();
15339  tmp2_done2:;
15340  }
15341  }
15342  _fn = tmpMeta[0];
15343  _return: OMC_LABEL_UNUSED
15344  return _fn;
15345 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
DLLExport modelica_boolean omc_Absyn_pathEqual(threadData_t *threadData, modelica_metatype _inPath1, modelica_metatype _inPath2)
Definition: Absyn.c:17616
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_boolean omc_Flags_isSet(threadData_t *threadData, modelica_metatype _inFlag)
Definition: Flags.c:11632
DLLExport modelica_metatype omc_DAEUtil_functionName(threadData_t *threadData, modelica_metatype _elt)
Definition: DAEUtil.c:6019
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport void omc_Debug_traceln(threadData_t *threadData, modelica_string _str)
Definition: Debug.c:17
void * modelica_metatype
void *(* omc_Absyn_pathString)(threadData_t *, void *, void *, int, int)
DLLExport modelica_metatype omc_DAEUtil_getNamedFunctionFromList(threadData_t *threadData, modelica_metatype _ipath, modelica_metatype _ifns)
Definition: DAEUtil.c:15244
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getNamedFunctionWithError()

DLLExport modelica_metatype omc_DAEUtil_getNamedFunctionWithError ( threadData_t threadData,
modelica_metatype  _path,
modelica_metatype  _functions,
modelica_metatype  _info 
)

Definition at line 15348 of file DAEUtil.c.

15349 {
15350  modelica_metatype _outElement = NULL;
15351  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
15352  MMC_SO();
15353  _tailrecursive: OMC_LABEL_UNUSED
15354 #line 15354 OMC_FILE
15355  { /* matchcontinue expression */
15356  {
15357  modelica_string _msg = NULL;
15358  volatile mmc_switch_type tmp3;
15359  int tmp4;
15360  tmp3 = 0;
15361  MMC_TRY_INTERNAL(mmc_jumper)
15362  tmp2_top:
15363  threadData->mmc_jumper = &new_mmc_jumper;
15364  for (; tmp3 < 2; tmp3++) {
15365  switch (MMC_SWITCH_CAST(tmp3)) {
15366  case 0: {
15367  /* Pattern matching succeeded */
15368 #line 2760 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15369  tmpMeta[0] = omc_Util_getOption(threadData, omc_DAE_AvlTreePathFunction_get(threadData, _functions, _path));
15370 #line 15370 OMC_FILE
15371  goto tmp2_done;
15372  }
15373  case 1: {
15374  /* Pattern matching succeeded */
15375 #line 2763 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15376  _msg = stringDelimitList(omc_List_mapMap(threadData, omc_DAEUtil_getFunctionList(threadData, _functions, 0), boxvar_DAEUtil_functionName, boxvar_Absyn_pathStringDefault), _OMC_LIT26);
15377 #line 15377 OMC_FILE
15378 
15379 #line 2764 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15380  tmpMeta[1] = stringAppend(_OMC_LIT125,omc_Absyn_pathString(threadData, _path, _OMC_LIT29, 1, 0));
15381 #line 2764 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15382  tmpMeta[2] = stringAppend(tmpMeta[1],_OMC_LIT126);
15383 #line 2764 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15384  tmpMeta[3] = stringAppend(tmpMeta[2],_msg);
15385 #line 2764 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15386  _msg = tmpMeta[3];
15387 #line 15387 OMC_FILE
15388 
15389 #line 2765 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15390  tmpMeta[1] = mmc_mk_cons(_msg, MMC_REFSTRUCTLIT(mmc_nil));
15391 #line 2765 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15392  omc_Error_addSourceMessage(threadData, _OMC_LIT72, tmpMeta[1], _info);
15393 #line 15393 OMC_FILE
15394 #line 2766 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15395  goto goto_1;
15396 #line 15396 OMC_FILE
15397  goto tmp2_done;
15398  }
15399  }
15400  goto tmp2_end;
15401  tmp2_end: ;
15402  }
15403  goto goto_1;
15404  tmp2_done:
15405  (void)tmp3;
15406  MMC_RESTORE_INTERNAL(mmc_jumper);
15407  goto tmp2_done2;
15408  goto_1:;
15409  MMC_CATCH_INTERNAL(mmc_jumper);
15410  if (++tmp3 < 2) {
15411  goto tmp2_top;
15412  }
15413  MMC_THROW_INTERNAL();
15414  tmp2_done2:;
15415  }
15416  }
15417  _outElement = tmpMeta[0];
15418  _return: OMC_LABEL_UNUSED
15419  return _outElement;
15420 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
modelica_metatype modelica_string
DLLExport modelica_metatype omc_DAEUtil_getFunctionList(threadData_t *threadData, modelica_metatype _ft, modelica_boolean _failOnError)
Definition: DAEUtil.c:11467
float mmc_switch_type
DLLExport void omc_Error_addSourceMessage(threadData_t *threadData, modelica_metatype _inErrorMsg, modelica_metatype _inMessageTokens, modelica_metatype _inInfo)
Definition: Error.c:990
DLLExport modelica_metatype omc_Util_getOption(threadData_t *threadData, modelica_metatype _inOption)
Definition: Util.c:3546
DLLExport modelica_metatype omc_DAE_AvlTreePathFunction_get(threadData_t *threadData, modelica_metatype _tree, modelica_metatype _key)
Definition: DAE.c:873
modelica_string stringAppend(modelica_string s1, modelica_string s2)
void * modelica_metatype
void *(* omc_Absyn_pathString)(threadData_t *, void *, void *, int, int)
metamodelica_string stringDelimitList(modelica_metatype lst, metamodelica_string_const delimiter)
DLLExport modelica_metatype omc_List_mapMap(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inMapFunc1, modelica_fnptr _inMapFunc2)
Definition: List.c:11163
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:

◆ omc_DAEUtil_getNominalAttr()

DLLExport modelica_metatype omc_DAEUtil_getNominalAttr ( threadData_t threadData,
modelica_metatype  _attr 
)

Definition at line 22257 of file DAEUtil.c.

22258 {
22259  modelica_metatype _nominal = NULL;
22260  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
22261  MMC_SO();
22262  _tailrecursive: OMC_LABEL_UNUSED
22263 #line 22263 OMC_FILE
22264  { /* match expression */
22265  modelica_metatype tmp3_1;
22266  tmp3_1 = _attr;
22267  {
22268  modelica_metatype _n = NULL;
22269  volatile mmc_switch_type tmp3;
22270  int tmp4;
22271  tmp3 = 0;
22272  for (; tmp3 < 2; tmp3++) {
22273  switch (MMC_SWITCH_CAST(tmp3)) {
22274  case 0: {
22275  if (optionNone(tmp3_1)) goto tmp2_end;
22276  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22277  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
22278  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
22279  if (optionNone(tmpMeta[2])) goto tmp2_end;
22280  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
22281 
22282  _n = tmpMeta[3];
22283  /* Pattern matching succeeded */
22284 #line 1110 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22285  tmpMeta[0] = _n;
22286 #line 22286 OMC_FILE
22287  goto tmp2_done;
22288  }
22289  case 1: {
22290 
22291  /* Pattern matching succeeded */
22292 #line 1111 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22293  tmpMeta[0] = _OMC_LIT152;
22294 #line 22294 OMC_FILE
22295  goto tmp2_done;
22296  }
22297  }
22298  goto tmp2_end;
22299  tmp2_end: ;
22300  }
22301  goto goto_1;
22302  goto_1:;
22303  MMC_THROW_INTERNAL();
22304  goto tmp2_done;
22305  tmp2_done:;
22306  }
22307  }
22308  _nominal = tmpMeta[0];
22309  _return: OMC_LABEL_UNUSED
22310  return _nominal;
22311 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getNominalAttrFail()

DLLExport modelica_metatype omc_DAEUtil_getNominalAttrFail ( threadData_t threadData,
modelica_metatype  _inVariableAttributesOption 
)

Definition at line 22916 of file DAEUtil.c.

22917 {
22918  modelica_metatype _nominal = NULL;
22919  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
22920  MMC_SO();
22921  _tailrecursive: OMC_LABEL_UNUSED
22922 #line 22922 OMC_FILE
22923  { /* match expression */
22924  modelica_metatype tmp3_1;
22925  tmp3_1 = _inVariableAttributesOption;
22926  {
22927  modelica_metatype _r = NULL;
22928  volatile mmc_switch_type tmp3;
22929  int tmp4;
22930  tmp3 = 0;
22931  for (; tmp3 < 1; tmp3++) {
22932  switch (MMC_SWITCH_CAST(tmp3)) {
22933  case 0: {
22934  if (optionNone(tmp3_1)) goto tmp2_end;
22935  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22936  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
22937  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
22938  if (optionNone(tmpMeta[2])) goto tmp2_end;
22939  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
22940 
22941  _r = tmpMeta[3];
22942  /* Pattern matching succeeded */
22943 #line 947 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22944  tmpMeta[0] = _r;
22945 #line 22945 OMC_FILE
22946  goto tmp2_done;
22947  }
22948  }
22949  goto tmp2_end;
22950  tmp2_end: ;
22951  }
22952  goto goto_1;
22953  goto_1:;
22954  MMC_THROW_INTERNAL();
22955  goto tmp2_done;
22956  tmp2_done:;
22957  }
22958  }
22959  _nominal = tmpMeta[0];
22960  _return: OMC_LABEL_UNUSED
22961  return _nominal;
22962 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getOutputVars()

DLLExport modelica_metatype omc_DAEUtil_getOutputVars ( threadData_t threadData,
modelica_metatype  _vl 
)

Definition at line 19933 of file DAEUtil.c.

19934 {
19935  modelica_metatype _vl_1 = NULL;
19936  MMC_SO();
19937  _tailrecursive: OMC_LABEL_UNUSED
19938 #line 1609 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19939  _vl_1 = omc_DAEUtil_getMatchingElements(threadData, _vl, boxvar_DAEUtil_isOutputVar);
19940 #line 19940 OMC_FILE
19941  _return: OMC_LABEL_UNUSED
19942  return _vl_1;
19943 }
DLLExport modelica_metatype omc_DAEUtil_getMatchingElements(threadData_t *threadData, modelica_metatype _elist, modelica_fnptr _cond)
Definition: DAEUtil.c:20677
void * modelica_metatype
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getParameters()

DLLExport modelica_metatype omc_DAEUtil_getParameters ( threadData_t threadData,
modelica_metatype  _elts,
modelica_metatype  _acc 
)

Definition at line 664 of file DAEUtil.c.

665 {
666  modelica_metatype _params = NULL;
667  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
668  MMC_SO();
669  _tailrecursive: OMC_LABEL_UNUSED
670 #line 670 OMC_FILE
671  { /* match expression */
672  modelica_metatype tmp3_1;
673  tmp3_1 = _elts;
674  {
675  modelica_metatype _e = NULL;
676  modelica_metatype _rest = NULL;
677  modelica_metatype _celts = NULL;
678  modelica_metatype _a = NULL;
679  volatile mmc_switch_type tmp3;
680  int tmp4;
681  tmp3 = 0;
682  for (; tmp3 < 4; tmp3++) {
683  switch (MMC_SWITCH_CAST(tmp3)) {
684  case 0: {
685  if (!listEmpty(tmp3_1)) goto tmp2_end;
686  /* Pattern matching succeeded */
687 #line 6573 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
688  tmpMeta[0] = _acc;
689 #line 689 OMC_FILE
690  goto tmp2_done;
691  }
692  case 1: {
693  if (listEmpty(tmp3_1)) goto tmp2_end;
694  tmpMeta[1] = MMC_CAR(tmp3_1);
695  tmpMeta[2] = MMC_CDR(tmp3_1);
696  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],17,4) == 0) goto tmp2_end;
697  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
698 
699  _celts = tmpMeta[3];
700  _rest = tmpMeta[2];
701  /* Pattern matching succeeded */
702 #line 6577 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
703  _a = omc_DAEUtil_getParameters(threadData, _celts, _acc);
704 #line 704 OMC_FILE
705 #line 6578 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
706  /* Tail recursive call */
707 #line 6578 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
708  _elts = _rest;
709 #line 6578 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
710  _acc = _a;
711 #line 6578 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
712  goto _tailrecursive;
713 #line 6578 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
714  /* TODO: Make sure any eventual dead code below is never generated */
715 #line 715 OMC_FILE
716  goto tmp2_done;
717  }
718  case 2: {
719  modelica_boolean tmp5;
720  if (listEmpty(tmp3_1)) goto tmp2_end;
721  tmpMeta[1] = MMC_CAR(tmp3_1);
722  tmpMeta[2] = MMC_CDR(tmp3_1);
723  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,13) == 0) goto tmp2_end;
724 
725  _e = tmpMeta[1];
726  _rest = tmpMeta[2];
727  /* Pattern matching succeeded */
728 #line 6583 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
729  tmp5 = (modelica_boolean)omc_DAEUtil_isParameterOrConstant(threadData, _e);
730 #line 6583 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
731  if(tmp5)
732 #line 6583 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
733  {
734 #line 6583 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
735  tmpMeta[1] = mmc_mk_cons(_e, omc_DAEUtil_getParameters(threadData, _rest, _acc));
736 #line 6583 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
737  tmpMeta[2] = tmpMeta[1];
738 #line 6583 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
739  }
740 #line 6583 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
741  else
742 #line 6583 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
743  {
744 #line 6583 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
745  /* Tail recursive call */
746 #line 6583 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
747  _elts = _rest;
748 #line 6583 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
749  goto _tailrecursive;
750 #line 6583 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
751  /* TODO: Make sure any eventual dead code below is never generated */
752 #line 6583 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
753  }
754 #line 6583 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
755  tmpMeta[0] = tmpMeta[2];
756 #line 756 OMC_FILE
757  goto tmp2_done;
758  }
759  case 3: {
760  if (listEmpty(tmp3_1)) goto tmp2_end;
761  tmpMeta[1] = MMC_CAR(tmp3_1);
762  tmpMeta[2] = MMC_CDR(tmp3_1);
763  _rest = tmpMeta[2];
764  /* Pattern matching succeeded */
765 #line 6588 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
766  /* Tail recursive call */
767 #line 6588 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
768  _elts = _rest;
769 #line 6588 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
770  goto _tailrecursive;
771 #line 6588 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
772  /* TODO: Make sure any eventual dead code below is never generated */
773 #line 773 OMC_FILE
774  goto tmp2_done;
775  }
776  }
777  goto tmp2_end;
778  tmp2_end: ;
779  }
780  goto goto_1;
781  goto_1:;
782  MMC_THROW_INTERNAL();
783  goto tmp2_done;
784  tmp2_done:;
785  }
786  }
787  _params = tmpMeta[0];
788  _return: OMC_LABEL_UNUSED
789  return _params;
790 }
DLLExport modelica_boolean omc_DAEUtil_isParameterOrConstant(threadData_t *threadData, modelica_metatype _inElement)
Definition: DAEUtil.c:20243
signed char modelica_boolean
DLLExport modelica_metatype omc_DAEUtil_getParameters(threadData_t *threadData, modelica_metatype _elts, modelica_metatype _acc)
Definition: DAEUtil.c:664
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getParameterVars()

DLLExport modelica_metatype omc_DAEUtil_getParameterVars ( threadData_t threadData,
modelica_metatype  _dae,
modelica_metatype  _ht 
)

Definition at line 13049 of file DAEUtil.c.

13050 {
13051  modelica_metatype _oht = NULL;
13052  modelica_metatype _elts = NULL;
13053  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
13054  MMC_SO();
13055  _tailrecursive: OMC_LABEL_UNUSED
13056 #line 3399 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13057  /* Pattern-matching assignment */
13058 #line 3399 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13059  tmpMeta[0] = _dae;
13060 #line 3399 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13061  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
13062 #line 3399 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13063  _elts = tmpMeta[1];
13064 #line 13064 OMC_FILE
13065 
13066 #line 3400 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13067  _oht = omc_List_fold(threadData, _elts, boxvar_DAEUtil_getParameterVars2, _ht);
13068 #line 13068 OMC_FILE
13069  _return: OMC_LABEL_UNUSED
13070  return _oht;
13071 }
void * modelica_metatype
DLLExport modelica_metatype omc_List_fold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFoldFunc, modelica_metatype _inStartValue)
Definition: List.c:9662
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getParameterVars2()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getParameterVars2 ( threadData_t threadData,
modelica_metatype  _elt,
modelica_metatype  _ht 
)

Definition at line 12944 of file DAEUtil.c.

12945 {
12946  modelica_metatype _ouHt = NULL;
12947  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
12948  MMC_SO();
12949  _tailrecursive: OMC_LABEL_UNUSED
12950 #line 12950 OMC_FILE
12951  { /* matchcontinue expression */
12952  volatile modelica_metatype tmp3_1;
12953  tmp3_1 = _elt;
12954  {
12955  modelica_metatype _cr = NULL;
12956  modelica_metatype _e = NULL;
12957  modelica_metatype _dae_var_attr = NULL;
12958  modelica_metatype _elts = NULL;
12959  volatile mmc_switch_type tmp3;
12960  int tmp4;
12961  tmp3 = 0;
12962  MMC_TRY_INTERNAL(mmc_jumper)
12963  tmp2_top:
12964  threadData->mmc_jumper = &new_mmc_jumper;
12965  for (; tmp3 < 4; tmp3++) {
12966  switch (MMC_SWITCH_CAST(tmp3)) {
12967  case 0: {
12968  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,17,4) == 0) goto tmp2_end;
12969  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
12970 
12971  _elts = tmpMeta[1];
12972  tmp3 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
12973 #line 3415 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12974  tmpMeta[0] = omc_List_fold(threadData, _elts, boxvar_DAEUtil_getParameterVars2, _ht);
12975 #line 12975 OMC_FILE
12976  goto tmp2_done;
12977  }
12978  case 1: {
12979  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
12980  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
12981  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
12982  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],2,0) == 0) goto tmp2_end;
12983  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 8));
12984  if (optionNone(tmpMeta[3])) goto tmp2_end;
12985  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 1));
12986 
12987  _cr = tmpMeta[1];
12988  _e = tmpMeta[4];
12989  /* Pattern matching succeeded */
12990 #line 3418 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12991  tmpMeta[1] = mmc_mk_box2(0, _cr, _e);
12992 #line 3418 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12993  tmpMeta[0] = omc_BaseHashTable_add(threadData, tmpMeta[1], _ht);
12994 #line 12994 OMC_FILE
12995  goto tmp2_done;
12996  }
12997  case 2: {
12998  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
12999  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
13000  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
13001  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],2,0) == 0) goto tmp2_end;
13002  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 12));
13003 
13004  _cr = tmpMeta[1];
13005  _dae_var_attr = tmpMeta[3];
13006  /* Pattern matching succeeded */
13007 #line 3422 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13008  _e = omc_DAEUtil_getStartAttrFail(threadData, _dae_var_attr);
13009 #line 13009 OMC_FILE
13010 #line 3423 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13011  tmpMeta[1] = mmc_mk_box2(0, _cr, _e);
13012 #line 3423 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13013  tmpMeta[0] = omc_BaseHashTable_add(threadData, tmpMeta[1], _ht);
13014 #line 13014 OMC_FILE
13015  goto tmp2_done;
13016  }
13017  case 3: {
13018 
13019  /* Pattern matching succeeded */
13020 #line 3425 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13021  tmpMeta[0] = _ht;
13022 #line 13022 OMC_FILE
13023  goto tmp2_done;
13024  }
13025  }
13026  goto tmp2_end;
13027  tmp2_end: ;
13028  }
13029  goto goto_1;
13030  tmp2_done:
13031  (void)tmp3;
13032  MMC_RESTORE_INTERNAL(mmc_jumper);
13033  goto tmp2_done2;
13034  goto_1:;
13035  MMC_CATCH_INTERNAL(mmc_jumper);
13036  if (++tmp3 < 4) {
13037  goto tmp2_top;
13038  }
13039  MMC_THROW_INTERNAL();
13040  tmp2_done2:;
13041  }
13042  }
13043  _ouHt = tmpMeta[0];
13044  _return: OMC_LABEL_UNUSED
13045  return _ouHt;
13046 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
float mmc_switch_type
DLLExport modelica_metatype omc_DAEUtil_getStartAttrFail(threadData_t *threadData, modelica_metatype _inVariableAttributesOption)
Definition: DAEUtil.c:22965
void * modelica_metatype
DLLExport modelica_metatype omc_List_fold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFoldFunc, modelica_metatype _inStartValue)
Definition: List.c:9662
DLLExport modelica_metatype omc_BaseHashTable_add(threadData_t *threadData, modelica_metatype _entry, modelica_metatype _hashTable)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:

◆ omc_DAEUtil_getProtectedAttr()

DLLExport modelica_boolean omc_DAEUtil_getProtectedAttr ( threadData_t threadData,
modelica_metatype  _attr 
)

Definition at line 21530 of file DAEUtil.c.

21531 {
21532  modelica_boolean _isProtected;
21533  modelica_boolean tmp1 = 0;
21534  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
21535  MMC_SO();
21536  _tailrecursive: OMC_LABEL_UNUSED
21537 #line 21537 OMC_FILE
21538  { /* match expression */
21539  modelica_metatype tmp4_1;
21540  tmp4_1 = _attr;
21541  {
21542  volatile mmc_switch_type tmp4;
21543  int tmp5;
21544  tmp4 = 0;
21545  for (; tmp4 < 7; tmp4++) {
21546  switch (MMC_SWITCH_CAST(tmp4)) {
21547  case 0: {
21548  modelica_integer tmp6;
21549  if (optionNone(tmp4_1)) goto tmp3_end;
21550  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
21551  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,15) == 0) goto tmp3_end;
21552  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 14));
21553  if (optionNone(tmpMeta[1])) goto tmp3_end;
21554  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
21555  tmp6 = mmc_unbox_integer(tmpMeta[2]);
21556 
21557  _isProtected = tmp6 /* pattern as ty=Boolean */;
21558  /* Pattern matching succeeded */
21559 #line 1241 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21560  tmp1 = _isProtected;
21561 #line 21561 OMC_FILE
21562  goto tmp3_done;
21563  }
21564  case 1: {
21565  modelica_integer tmp7;
21566  if (optionNone(tmp4_1)) goto tmp3_end;
21567  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
21568  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],1,11) == 0) goto tmp3_end;
21569  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 10));
21570  if (optionNone(tmpMeta[1])) goto tmp3_end;
21571  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
21572  tmp7 = mmc_unbox_integer(tmpMeta[2]);
21573 
21574  _isProtected = tmp7 /* pattern as ty=Boolean */;
21575  /* Pattern matching succeeded */
21576 #line 1242 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21577  tmp1 = _isProtected;
21578 #line 21578 OMC_FILE
21579  goto tmp3_done;
21580  }
21581  case 2: {
21582  modelica_integer tmp8;
21583  if (optionNone(tmp4_1)) goto tmp3_end;
21584  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
21585  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],2,7) == 0) goto tmp3_end;
21586  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 6));
21587  if (optionNone(tmpMeta[1])) goto tmp3_end;
21588  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
21589  tmp8 = mmc_unbox_integer(tmpMeta[2]);
21590 
21591  _isProtected = tmp8 /* pattern as ty=Boolean */;
21592  /* Pattern matching succeeded */
21593 #line 1243 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21594  tmp1 = _isProtected;
21595 #line 21595 OMC_FILE
21596  goto tmp3_done;
21597  }
21598  case 3: {
21599  modelica_integer tmp9;
21600  if (optionNone(tmp4_1)) goto tmp3_end;
21601  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
21602  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],4,7) == 0) goto tmp3_end;
21603  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 6));
21604  if (optionNone(tmpMeta[1])) goto tmp3_end;
21605  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
21606  tmp9 = mmc_unbox_integer(tmpMeta[2]);
21607 
21608  _isProtected = tmp9 /* pattern as ty=Boolean */;
21609  /* Pattern matching succeeded */
21610 #line 1244 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21611  tmp1 = _isProtected;
21612 #line 21612 OMC_FILE
21613  goto tmp3_done;
21614  }
21615  case 4: {
21616  modelica_integer tmp10;
21617  if (optionNone(tmp4_1)) goto tmp3_end;
21618  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
21619  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],5,9) == 0) goto tmp3_end;
21620  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 8));
21621  if (optionNone(tmpMeta[1])) goto tmp3_end;
21622  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
21623  tmp10 = mmc_unbox_integer(tmpMeta[2]);
21624 
21625  _isProtected = tmp10 /* pattern as ty=Boolean */;
21626  /* Pattern matching succeeded */
21627 #line 1245 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21628  tmp1 = _isProtected;
21629 #line 21629 OMC_FILE
21630  goto tmp3_done;
21631  }
21632  case 5: {
21633  modelica_integer tmp11;
21634  if (optionNone(tmp4_1)) goto tmp3_end;
21635  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
21636  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],3,2) == 0) goto tmp3_end;
21637  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
21638  if (optionNone(tmpMeta[1])) goto tmp3_end;
21639  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
21640  tmp11 = mmc_unbox_integer(tmpMeta[2]);
21641 
21642  _isProtected = tmp11 /* pattern as ty=Boolean */;
21643  /* Pattern matching succeeded */
21644 #line 1246 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21645  tmp1 = _isProtected;
21646 #line 21646 OMC_FILE
21647  goto tmp3_done;
21648  }
21649  case 6: {
21650 
21651  /* Pattern matching succeeded */
21652 #line 1247 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21653  tmp1 = 0;
21654 #line 21654 OMC_FILE
21655  goto tmp3_done;
21656  }
21657  }
21658  goto tmp3_end;
21659  tmp3_end: ;
21660  }
21661  goto goto_2;
21662  goto_2:;
21663  MMC_THROW_INTERNAL();
21664  goto tmp3_done;
21665  tmp3_done:;
21666  }
21667  }
21668  _isProtected = tmp1;
21669  _return: OMC_LABEL_UNUSED
21670  return _isProtected;
21671 }
m_integer modelica_integer
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getProtectedVars()

DLLExport modelica_metatype omc_DAEUtil_getProtectedVars ( threadData_t threadData,
modelica_metatype  _vl 
)

Definition at line 19920 of file DAEUtil.c.

19921 {
19922  modelica_metatype _vl_1 = NULL;
19923  MMC_SO();
19924  _tailrecursive: OMC_LABEL_UNUSED
19925 #line 1620 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19926  _vl_1 = omc_DAEUtil_getMatchingElements(threadData, _vl, boxvar_DAEUtil_isProtectedVar);
19927 #line 19927 OMC_FILE
19928  _return: OMC_LABEL_UNUSED
19929  return _vl_1;
19930 }
DLLExport modelica_metatype omc_DAEUtil_getMatchingElements(threadData_t *threadData, modelica_metatype _elist, modelica_fnptr _cond)
Definition: DAEUtil.c:20677
void * modelica_metatype
Here is the call graph for this function:

◆ omc_DAEUtil_getStartAttr()

DLLExport modelica_metatype omc_DAEUtil_getStartAttr ( threadData_t threadData,
modelica_metatype  _inVariableAttributesOption 
)

Definition at line 23176 of file DAEUtil.c.

23177 {
23178  modelica_metatype _start = NULL;
23179  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
23180  MMC_SO();
23181  _tailrecursive: OMC_LABEL_UNUSED
23182 #line 23182 OMC_FILE
23183  { /* match expression */
23184  modelica_metatype tmp3_1;
23185  tmp3_1 = _inVariableAttributesOption;
23186  {
23187  modelica_metatype _r = NULL;
23188  volatile mmc_switch_type tmp3;
23189  int tmp4;
23190  tmp3 = 0;
23191  for (; tmp3 < 6; tmp3++) {
23192  switch (MMC_SWITCH_CAST(tmp3)) {
23193  case 0: {
23194  if (optionNone(tmp3_1)) goto tmp2_end;
23195  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23196  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
23197  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
23198  if (optionNone(tmpMeta[2])) goto tmp2_end;
23199  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
23200 
23201  _r = tmpMeta[3];
23202  /* Pattern matching succeeded */
23203 #line 900 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23204  tmpMeta[0] = _r;
23205 #line 23205 OMC_FILE
23206  goto tmp2_done;
23207  }
23208  case 1: {
23209  if (optionNone(tmp3_1)) goto tmp2_end;
23210  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23211  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,11) == 0) goto tmp2_end;
23212  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
23213  if (optionNone(tmpMeta[2])) goto tmp2_end;
23214  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
23215 
23216  _r = tmpMeta[3];
23217  /* Pattern matching succeeded */
23218 #line 901 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23219  tmpMeta[0] = _r;
23220 #line 23220 OMC_FILE
23221  goto tmp2_done;
23222  }
23223  case 2: {
23224  if (optionNone(tmp3_1)) goto tmp2_end;
23225  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23226  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,7) == 0) goto tmp2_end;
23227  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
23228  if (optionNone(tmpMeta[2])) goto tmp2_end;
23229  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
23230 
23231  _r = tmpMeta[3];
23232  /* Pattern matching succeeded */
23233 #line 902 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23234  tmpMeta[0] = _r;
23235 #line 23235 OMC_FILE
23236  goto tmp2_done;
23237  }
23238  case 3: {
23239  if (optionNone(tmp3_1)) goto tmp2_end;
23240  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23241  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,7) == 0) goto tmp2_end;
23242  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
23243  if (optionNone(tmpMeta[2])) goto tmp2_end;
23244  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
23245 
23246  _r = tmpMeta[3];
23247  /* Pattern matching succeeded */
23248 #line 903 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23249  tmpMeta[0] = _r;
23250 #line 23250 OMC_FILE
23251  goto tmp2_done;
23252  }
23253  case 4: {
23254  if (optionNone(tmp3_1)) goto tmp2_end;
23255  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23256  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,9) == 0) goto tmp2_end;
23257  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
23258  if (optionNone(tmpMeta[2])) goto tmp2_end;
23259  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
23260 
23261  _r = tmpMeta[3];
23262  /* Pattern matching succeeded */
23263 #line 904 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23264  tmpMeta[0] = _r;
23265 #line 23265 OMC_FILE
23266  goto tmp2_done;
23267  }
23268  case 5: {
23269 
23270  /* Pattern matching succeeded */
23271 #line 905 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23272  tmpMeta[0] = _OMC_LIT153;
23273 #line 23273 OMC_FILE
23274  goto tmp2_done;
23275  }
23276  }
23277  goto tmp2_end;
23278  tmp2_end: ;
23279  }
23280  goto goto_1;
23281  goto_1:;
23282  MMC_THROW_INTERNAL();
23283  goto tmp2_done;
23284  tmp2_done:;
23285  }
23286  }
23287  _start = tmpMeta[0];
23288  _return: OMC_LABEL_UNUSED
23289  return _start;
23290 }
int32 _start()
Definition: expat_lib.c:123
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getStartAttrEmpty()

DLLExport modelica_metatype omc_DAEUtil_getStartAttrEmpty ( threadData_t threadData,
modelica_metatype  _inVariableAttributesOption,
modelica_metatype  _optExp 
)

Definition at line 23713 of file DAEUtil.c.

23714 {
23715  modelica_metatype _start = NULL;
23716  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
23717  MMC_SO();
23718  _tailrecursive: OMC_LABEL_UNUSED
23719 #line 23719 OMC_FILE
23720  { /* match expression */
23721  modelica_metatype tmp3_1;
23722  tmp3_1 = _inVariableAttributesOption;
23723  {
23724  modelica_metatype _r = NULL;
23725  volatile mmc_switch_type tmp3;
23726  int tmp4;
23727  tmp3 = 0;
23728  for (; tmp3 < 6; tmp3++) {
23729  switch (MMC_SWITCH_CAST(tmp3)) {
23730  case 0: {
23731  if (optionNone(tmp3_1)) goto tmp2_end;
23732  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23733  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
23734  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
23735  if (optionNone(tmpMeta[2])) goto tmp2_end;
23736  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
23737 
23738  _r = tmpMeta[3];
23739  /* Pattern matching succeeded */
23740 #line 812 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23741  tmpMeta[0] = _r;
23742 #line 23742 OMC_FILE
23743  goto tmp2_done;
23744  }
23745  case 1: {
23746  if (optionNone(tmp3_1)) goto tmp2_end;
23747  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23748  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,11) == 0) goto tmp2_end;
23749  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
23750  if (optionNone(tmpMeta[2])) goto tmp2_end;
23751  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
23752 
23753  _r = tmpMeta[3];
23754  /* Pattern matching succeeded */
23755 #line 813 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23756  tmpMeta[0] = _r;
23757 #line 23757 OMC_FILE
23758  goto tmp2_done;
23759  }
23760  case 2: {
23761  if (optionNone(tmp3_1)) goto tmp2_end;
23762  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23763  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,7) == 0) goto tmp2_end;
23764  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
23765  if (optionNone(tmpMeta[2])) goto tmp2_end;
23766  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
23767 
23768  _r = tmpMeta[3];
23769  /* Pattern matching succeeded */
23770 #line 814 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23771  tmpMeta[0] = _r;
23772 #line 23772 OMC_FILE
23773  goto tmp2_done;
23774  }
23775  case 3: {
23776  if (optionNone(tmp3_1)) goto tmp2_end;
23777  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23778  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,7) == 0) goto tmp2_end;
23779  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
23780  if (optionNone(tmpMeta[2])) goto tmp2_end;
23781  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
23782 
23783  _r = tmpMeta[3];
23784  /* Pattern matching succeeded */
23785 #line 815 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23786  tmpMeta[0] = _r;
23787 #line 23787 OMC_FILE
23788  goto tmp2_done;
23789  }
23790  case 4: {
23791  if (optionNone(tmp3_1)) goto tmp2_end;
23792  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23793  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,9) == 0) goto tmp2_end;
23794  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
23795  if (optionNone(tmpMeta[2])) goto tmp2_end;
23796  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
23797 
23798  _r = tmpMeta[3];
23799  /* Pattern matching succeeded */
23800 #line 816 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23801  tmpMeta[0] = _r;
23802 #line 23802 OMC_FILE
23803  goto tmp2_done;
23804  }
23805  case 5: {
23806 
23807  /* Pattern matching succeeded */
23808 #line 817 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23809  tmpMeta[0] = _optExp;
23810 #line 23810 OMC_FILE
23811  goto tmp2_done;
23812  }
23813  }
23814  goto tmp2_end;
23815  tmp2_end: ;
23816  }
23817  goto goto_1;
23818  goto_1:;
23819  MMC_THROW_INTERNAL();
23820  goto tmp2_done;
23821  tmp2_done:;
23822  }
23823  }
23824  _start = tmpMeta[0];
23825  _return: OMC_LABEL_UNUSED
23826  return _start;
23827 }
int32 _start()
Definition: expat_lib.c:123
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_getStartAttrFail()

DLLExport modelica_metatype omc_DAEUtil_getStartAttrFail ( threadData_t threadData,
modelica_metatype  _inVariableAttributesOption 
)

Definition at line 22965 of file DAEUtil.c.

22966 {
22967  modelica_metatype _start = NULL;
22968  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
22969  MMC_SO();
22970  _tailrecursive: OMC_LABEL_UNUSED
22971 #line 22971 OMC_FILE
22972  { /* match expression */
22973  modelica_metatype tmp3_1;
22974  tmp3_1 = _inVariableAttributesOption;
22975  {
22976  modelica_metatype _r = NULL;
22977  volatile mmc_switch_type tmp3;
22978  int tmp4;
22979  tmp3 = 0;
22980  for (; tmp3 < 5; tmp3++) {
22981  switch (MMC_SWITCH_CAST(tmp3)) {
22982  case 0: {
22983  if (optionNone(tmp3_1)) goto tmp2_end;
22984  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22985  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
22986  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
22987  if (optionNone(tmpMeta[2])) goto tmp2_end;
22988  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
22989 
22990  _r = tmpMeta[3];
22991  /* Pattern matching succeeded */
22992 #line 932 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22993  tmpMeta[0] = _r;
22994 #line 22994 OMC_FILE
22995  goto tmp2_done;
22996  }
22997  case 1: {
22998  if (optionNone(tmp3_1)) goto tmp2_end;
22999  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23000  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,11) == 0) goto tmp2_end;
23001  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
23002  if (optionNone(tmpMeta[2])) goto tmp2_end;
23003  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
23004 
23005  _r = tmpMeta[3];
23006  /* Pattern matching succeeded */
23007 #line 933 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23008  tmpMeta[0] = _r;
23009 #line 23009 OMC_FILE
23010  goto tmp2_done;
23011  }
23012  case 2: {
23013  if (optionNone(tmp3_1)) goto tmp2_end;
23014  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23015  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,7) == 0) goto tmp2_end;
23016  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
23017  if (optionNone(tmpMeta[2])) goto tmp2_end;
23018  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
23019 
23020  _r = tmpMeta[3];
23021  /* Pattern matching succeeded */
23022 #line 934 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23023  tmpMeta[0] = _r;
23024 #line 23024 OMC_FILE
23025  goto tmp2_done;
23026  }
23027  case 3: {
23028  if (optionNone(tmp3_1)) goto tmp2_end;
23029  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23030  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,7) == 0) goto tmp2_end;
23031  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
23032  if (optionNone(tmpMeta[2])) goto tmp2_end;
23033  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
23034 
23035  _r = tmpMeta[3];
23036  /* Pattern matching succeeded */
23037 #line 935 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23038  tmpMeta[0] = _r;
23039 #line 23039 OMC_FILE
23040  goto tmp2_done;
23041  }
23042  case 4: {
23043  if (optionNone(tmp3_1)) goto tmp2_end;
23044  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23045  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,9) == 0) goto tmp2_end;
23046  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
23047  if (optionNone(tmpMeta[2])) goto tmp2_end;
23048  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
23049 
23050  _r = tmpMeta[3];
23051  /* Pattern matching succeeded */
23052 #line 936 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23053  tmpMeta[0] = _r;
23054 #line 23054 OMC_FILE
23055  goto tmp2_done;
23056  }
23057  }
23058  goto tmp2_end;
23059  tmp2_end: ;
23060  }
23061  goto goto_1;
23062  goto_1:;
23063  MMC_THROW_INTERNAL();
23064  goto tmp2_done;
23065  tmp2_done:;
23066  }
23067  }
23068  _start = tmpMeta[0];
23069  _return: OMC_LABEL_UNUSED
23070  return _start;
23071 }
int32 _start()
Definition: expat_lib.c:123
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getStartAttrString()

DLLExport modelica_string omc_DAEUtil_getStartAttrString ( threadData_t threadData,
modelica_metatype  _inVariableAttributesOption 
)

Definition at line 20690 of file DAEUtil.c.

20691 {
20692  modelica_string _outString = NULL;
20693  modelica_string tmp1 = 0;
20694  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
20695  MMC_SO();
20696  _tailrecursive: OMC_LABEL_UNUSED
20697 #line 20697 OMC_FILE
20698  { /* matchcontinue expression */
20699  volatile modelica_metatype tmp4_1;
20700  tmp4_1 = _inVariableAttributesOption;
20701  {
20702  modelica_metatype _r = NULL;
20703  volatile mmc_switch_type tmp4;
20704  int tmp5;
20705  tmp4 = 0;
20706  MMC_TRY_INTERNAL(mmc_jumper)
20707  tmp3_top:
20708  threadData->mmc_jumper = &new_mmc_jumper;
20709  for (; tmp4 < 4; tmp4++) {
20710  switch (MMC_SWITCH_CAST(tmp4)) {
20711  case 0: {
20712  if (!optionNone(tmp4_1)) goto tmp3_end;
20713  tmp4 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
20714 #line 1369 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20715  tmp1 = _OMC_LIT7;
20716 #line 20716 OMC_FILE
20717  goto tmp3_done;
20718  }
20719  case 1: {
20720  if (optionNone(tmp4_1)) goto tmp3_end;
20721  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
20722  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,15) == 0) goto tmp3_end;
20723  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 7));
20724  if (optionNone(tmpMeta[1])) goto tmp3_end;
20725  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
20726 
20727  _r = tmpMeta[2];
20728  tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
20729 #line 1372 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20730  tmp1 = omc_ExpressionDump_printExpStr(threadData, _r);
20731 #line 20731 OMC_FILE
20732  goto tmp3_done;
20733  }
20734  case 2: {
20735  if (optionNone(tmp4_1)) goto tmp3_end;
20736  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
20737  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],1,11) == 0) goto tmp3_end;
20738  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 5));
20739  if (optionNone(tmpMeta[1])) goto tmp3_end;
20740  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
20741 
20742  _r = tmpMeta[2];
20743  /* Pattern matching succeeded */
20744 #line 1377 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20745  tmp1 = omc_ExpressionDump_printExpStr(threadData, _r);
20746 #line 20746 OMC_FILE
20747  goto tmp3_done;
20748  }
20749  case 3: {
20750 
20751  /* Pattern matching succeeded */
20752 #line 1380 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20753  tmp1 = _OMC_LIT7;
20754 #line 20754 OMC_FILE
20755  goto tmp3_done;
20756  }
20757  }
20758  goto tmp3_end;
20759  tmp3_end: ;
20760  }
20761  goto goto_2;
20762  tmp3_done:
20763  (void)tmp4;
20764  MMC_RESTORE_INTERNAL(mmc_jumper);
20765  goto tmp3_done2;
20766  goto_2:;
20767  MMC_CATCH_INTERNAL(mmc_jumper);
20768  if (++tmp4 < 4) {
20769  goto tmp3_top;
20770  }
20771  MMC_THROW_INTERNAL();
20772  tmp3_done2:;
20773  }
20774  }
20775  _outString = tmp1;
20776  _return: OMC_LABEL_UNUSED
20777  return _outString;
20778 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
modelica_metatype modelica_string
float mmc_switch_type
void * modelica_metatype
DLLExport modelica_string omc_ExpressionDump_printExpStr(threadData_t *threadData, modelica_metatype _e)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119

◆ omc_DAEUtil_getStartOrigin()

DLLExport modelica_metatype omc_DAEUtil_getStartOrigin ( threadData_t threadData,
modelica_metatype  _inVariableAttributesOption 
)

Definition at line 23074 of file DAEUtil.c.

23075 {
23076  modelica_metatype _startOrigin = NULL;
23077  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
23078  MMC_SO();
23079  _tailrecursive: OMC_LABEL_UNUSED
23080 #line 23080 OMC_FILE
23081  { /* match expression */
23082  modelica_metatype tmp3_1;
23083  tmp3_1 = _inVariableAttributesOption;
23084  {
23085  modelica_metatype _so = NULL;
23086  volatile mmc_switch_type tmp3;
23087  int tmp4;
23088  tmp3 = 0;
23089  for (; tmp3 < 6; tmp3++) {
23090  switch (MMC_SWITCH_CAST(tmp3)) {
23091  case 0: {
23092  if (optionNone(tmp3_1)) goto tmp2_end;
23093  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23094  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
23095  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 16));
23096  _so = tmpMeta[2];
23097  /* Pattern matching succeeded */
23098 #line 916 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23099  tmpMeta[0] = _so;
23100 #line 23100 OMC_FILE
23101  goto tmp2_done;
23102  }
23103  case 1: {
23104  if (optionNone(tmp3_1)) goto tmp2_end;
23105  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23106  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,11) == 0) goto tmp2_end;
23107  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 12));
23108  _so = tmpMeta[2];
23109  /* Pattern matching succeeded */
23110 #line 917 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23111  tmpMeta[0] = _so;
23112 #line 23112 OMC_FILE
23113  goto tmp2_done;
23114  }
23115  case 2: {
23116  if (optionNone(tmp3_1)) goto tmp2_end;
23117  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23118  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,7) == 0) goto tmp2_end;
23119  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
23120  _so = tmpMeta[2];
23121  /* Pattern matching succeeded */
23122 #line 918 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23123  tmpMeta[0] = _so;
23124 #line 23124 OMC_FILE
23125  goto tmp2_done;
23126  }
23127  case 3: {
23128  if (optionNone(tmp3_1)) goto tmp2_end;
23129  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23130  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,7) == 0) goto tmp2_end;
23131  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
23132  _so = tmpMeta[2];
23133  /* Pattern matching succeeded */
23134 #line 919 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23135  tmpMeta[0] = _so;
23136 #line 23136 OMC_FILE
23137  goto tmp2_done;
23138  }
23139  case 4: {
23140  if (optionNone(tmp3_1)) goto tmp2_end;
23141  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23142  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,9) == 0) goto tmp2_end;
23143  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
23144  _so = tmpMeta[2];
23145  /* Pattern matching succeeded */
23146 #line 920 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23147  tmpMeta[0] = _so;
23148 #line 23148 OMC_FILE
23149  goto tmp2_done;
23150  }
23151  case 5: {
23152  if (!optionNone(tmp3_1)) goto tmp2_end;
23153  /* Pattern matching succeeded */
23154 #line 921 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23155  tmpMeta[0] = mmc_mk_none();
23156 #line 23156 OMC_FILE
23157  goto tmp2_done;
23158  }
23159  }
23160  goto tmp2_end;
23161  tmp2_end: ;
23162  }
23163  goto goto_1;
23164  goto_1:;
23165  MMC_THROW_INTERNAL();
23166  goto tmp2_done;
23167  tmp2_done:;
23168  }
23169  }
23170  _startOrigin = tmpMeta[0];
23171  _return: OMC_LABEL_UNUSED
23172  return _startOrigin;
23173 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getStatement()

DLLExport modelica_metatype omc_DAEUtil_getStatement ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 14767 of file DAEUtil.c.

14768 {
14769  modelica_metatype _outStatements = NULL;
14770  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
14771  MMC_SO();
14772  _tailrecursive: OMC_LABEL_UNUSED
14773 #line 14773 OMC_FILE
14774  { /* matchcontinue expression */
14775  volatile modelica_metatype tmp3_1;
14776  tmp3_1 = _inElement;
14777  {
14778  modelica_metatype _stmts = NULL;
14779  volatile mmc_switch_type tmp3;
14780  int tmp4;
14781  tmp3 = 0;
14782  MMC_TRY_INTERNAL(mmc_jumper)
14783  tmp2_top:
14784  threadData->mmc_jumper = &new_mmc_jumper;
14785  for (; tmp3 < 2; tmp3++) {
14786  switch (MMC_SWITCH_CAST(tmp3)) {
14787  case 0: {
14788  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,15,2) == 0) goto tmp2_end;
14789  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
14790  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
14791 
14792  _stmts = tmpMeta[2];
14793  /* Pattern matching succeeded */
14794 #line 2916 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14795  tmpMeta[0] = _stmts;
14796 #line 14796 OMC_FILE
14797  goto tmp2_done;
14798  }
14799  case 1: {
14800  modelica_boolean tmp5;
14801 
14802  /* Pattern matching succeeded */
14803 #line 2920 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14804  /* Pattern-matching assignment */
14805 #line 2920 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14806  tmp5 = omc_Flags_isSet(threadData, _OMC_LIT81);
14807 #line 2920 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14808  if (1 != tmp5) goto goto_1;
14809 #line 14809 OMC_FILE
14810 
14811 #line 2921 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14812  omc_Debug_trace(threadData, _OMC_LIT123);
14813 #line 14813 OMC_FILE
14814 #line 2922 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14815  goto goto_1;
14816 #line 14816 OMC_FILE
14817  goto tmp2_done;
14818  }
14819  }
14820  goto tmp2_end;
14821  tmp2_end: ;
14822  }
14823  goto goto_1;
14824  tmp2_done:
14825  (void)tmp3;
14826  MMC_RESTORE_INTERNAL(mmc_jumper);
14827  goto tmp2_done2;
14828  goto_1:;
14829  MMC_CATCH_INTERNAL(mmc_jumper);
14830  if (++tmp3 < 2) {
14831  goto tmp2_top;
14832  }
14833  MMC_THROW_INTERNAL();
14834  tmp2_done2:;
14835  }
14836  }
14837  _outStatements = tmpMeta[0];
14838  _return: OMC_LABEL_UNUSED
14839  return _outStatements;
14840 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_boolean omc_Flags_isSet(threadData_t *threadData, modelica_metatype _inFlag)
Definition: Flags.c:11632
void * modelica_metatype
DLLExport void omc_Debug_trace(threadData_t *threadData, modelica_string _s)
Definition: Debug.c:33
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getStreamVariables()

DLLExport modelica_metatype omc_DAEUtil_getStreamVariables ( threadData_t threadData,
modelica_metatype  _inElementLst 
)

Definition at line 17351 of file DAEUtil.c.

17352 {
17353  modelica_metatype _outExpComponentRefLst = NULL;
17354  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
17355  MMC_SO();
17356  _tailrecursive: OMC_LABEL_UNUSED
17357 #line 17357 OMC_FILE
17358  { /* matchcontinue expression */
17359  volatile modelica_metatype tmp3_1;
17360  tmp3_1 = _inElementLst;
17361  {
17362  modelica_metatype _res = NULL;
17363  modelica_metatype _res1 = NULL;
17364  modelica_metatype _res1_1 = NULL;
17365  modelica_metatype _res2 = NULL;
17366  modelica_metatype _cr = NULL;
17367  modelica_metatype _xs = NULL;
17368  modelica_metatype _lst = NULL;
17369  modelica_string _id = NULL;
17370  volatile mmc_switch_type tmp3;
17371  int tmp4;
17372  tmp3 = 0;
17373  MMC_TRY_INTERNAL(mmc_jumper)
17374  tmp2_top:
17375  threadData->mmc_jumper = &new_mmc_jumper;
17376  for (; tmp3 < 4; tmp3++) {
17377  switch (MMC_SWITCH_CAST(tmp3)) {
17378  case 0: {
17379  if (!listEmpty(tmp3_1)) goto tmp2_end;
17380  tmp3 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
17381 #line 2197 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17382  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
17383 #line 2197 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17384  tmpMeta[0] = tmpMeta[1];
17385 #line 17385 OMC_FILE
17386  goto tmp2_done;
17387  }
17388  case 1: {
17389  if (listEmpty(tmp3_1)) goto tmp2_end;
17390  tmpMeta[1] = MMC_CAR(tmp3_1);
17391  tmpMeta[2] = MMC_CDR(tmp3_1);
17392  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,13) == 0) goto tmp2_end;
17393  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
17394  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
17395  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],2,1) == 0) goto tmp2_end;
17396 
17397  _cr = tmpMeta[3];
17398  _xs = tmpMeta[2];
17399  tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
17400 #line 2200 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17401  _res = omc_DAEUtil_getStreamVariables(threadData, _xs);
17402 #line 17402 OMC_FILE
17403 #line 2201 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17404  tmpMeta[1] = mmc_mk_cons(_cr, _res);
17405 #line 2201 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17406  tmpMeta[0] = tmpMeta[1];
17407 #line 17407 OMC_FILE
17408  goto tmp2_done;
17409  }
17410  case 2: {
17411  if (listEmpty(tmp3_1)) goto tmp2_end;
17412  tmpMeta[1] = MMC_CAR(tmp3_1);
17413  tmpMeta[2] = MMC_CDR(tmp3_1);
17414  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],17,4) == 0) goto tmp2_end;
17415  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
17416  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
17417 
17418  _id = tmpMeta[3];
17419  _lst = tmpMeta[4];
17420  _xs = tmpMeta[2];
17421  /* Pattern matching succeeded */
17422 #line 2205 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17423  _res1 = omc_DAEUtil_getStreamVariables(threadData, _lst);
17424 #line 17424 OMC_FILE
17425 
17426 #line 2206 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17427  _res1_1 = omc_DAEUtil_getStreamVariables2(threadData, _res1, _id);
17428 #line 17428 OMC_FILE
17429 
17430 #line 2207 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17431  _res2 = omc_DAEUtil_getStreamVariables(threadData, _xs);
17432 #line 17432 OMC_FILE
17433 #line 2208 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17434  tmpMeta[0] = listAppend(_res1_1, _res2);
17435 #line 17435 OMC_FILE
17436  goto tmp2_done;
17437  }
17438  case 3: {
17439  if (listEmpty(tmp3_1)) goto tmp2_end;
17440  tmpMeta[1] = MMC_CAR(tmp3_1);
17441  tmpMeta[2] = MMC_CDR(tmp3_1);
17442  _xs = tmpMeta[2];
17443  /* Pattern matching succeeded */
17444 #line 2213 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17445  tmpMeta[0] = omc_DAEUtil_getStreamVariables(threadData, _xs);
17446 #line 17446 OMC_FILE
17447  goto tmp2_done;
17448  }
17449  }
17450  goto tmp2_end;
17451  tmp2_end: ;
17452  }
17453  goto goto_1;
17454  tmp2_done:
17455  (void)tmp3;
17456  MMC_RESTORE_INTERNAL(mmc_jumper);
17457  goto tmp2_done2;
17458  goto_1:;
17459  MMC_CATCH_INTERNAL(mmc_jumper);
17460  if (++tmp3 < 4) {
17461  goto tmp2_top;
17462  }
17463  MMC_THROW_INTERNAL();
17464  tmp2_done2:;
17465  }
17466  }
17467  _outExpComponentRefLst = tmpMeta[0];
17468  _return: OMC_LABEL_UNUSED
17469  return _outExpComponentRefLst;
17470 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
modelica_metatype modelica_string
float mmc_switch_type
modelica_metatype listAppend(modelica_metatype, modelica_metatype)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getStreamVariables2(threadData_t *threadData, modelica_metatype _inExpComponentRefLst, modelica_string _inIdent)
Definition: DAEUtil.c:17276
DLLExport modelica_metatype omc_DAEUtil_getStreamVariables(threadData_t *threadData, modelica_metatype _inElementLst)
Definition: DAEUtil.c:17351
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getStreamVariables2()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getStreamVariables2 ( threadData_t threadData,
modelica_metatype  _inExpComponentRefLst,
modelica_string  _inIdent 
)

Definition at line 17276 of file DAEUtil.c.

17277 {
17278  modelica_metatype _outExpComponentRefLst = NULL;
17279  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
17280  MMC_SO();
17281  _tailrecursive: OMC_LABEL_UNUSED
17282 #line 17282 OMC_FILE
17283  { /* match expression */
17284  modelica_metatype tmp3_1;modelica_string tmp3_2;
17285  tmp3_1 = _inExpComponentRefLst;
17286  tmp3_2 = _inIdent;
17287  {
17288  modelica_string _id = NULL;
17289  modelica_metatype _res = NULL;
17290  modelica_metatype _xs = NULL;
17291  modelica_metatype _cr_1 = NULL;
17292  modelica_metatype _cr = NULL;
17293  volatile mmc_switch_type tmp3;
17294  int tmp4;
17295  tmp3 = 0;
17296  for (; tmp3 < 2; tmp3++) {
17297  switch (MMC_SWITCH_CAST(tmp3)) {
17298  case 0: {
17299  if (!listEmpty(tmp3_1)) goto tmp2_end;
17300 
17301  /* Pattern matching succeeded */
17302 #line 2232 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17303  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
17304 #line 2232 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17305  tmpMeta[0] = tmpMeta[1];
17306 #line 17306 OMC_FILE
17307  goto tmp2_done;
17308  }
17309  case 1: {
17310  if (listEmpty(tmp3_1)) goto tmp2_end;
17311  tmpMeta[1] = MMC_CAR(tmp3_1);
17312  tmpMeta[2] = MMC_CDR(tmp3_1);
17313 
17314  _cr = tmpMeta[1];
17315  _xs = tmpMeta[2];
17316  _id = tmp3_2;
17317  /* Pattern matching succeeded */
17318 #line 2235 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17319  _res = omc_DAEUtil_getStreamVariables2(threadData, _xs, _id);
17320 #line 17320 OMC_FILE
17321 
17322 #line 2236 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17323  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
17324 #line 2236 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17325  _cr_1 = omc_ComponentReference_makeCrefQual(threadData, _id, _OMC_LIT24, tmpMeta[1], _cr);
17326 #line 17326 OMC_FILE
17327 #line 2237 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17328  tmpMeta[1] = mmc_mk_cons(_cr_1, _res);
17329 #line 2237 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17330  tmpMeta[0] = tmpMeta[1];
17331 #line 17331 OMC_FILE
17332  goto tmp2_done;
17333  }
17334  }
17335  goto tmp2_end;
17336  tmp2_end: ;
17337  }
17338  goto goto_1;
17339  goto_1:;
17340  MMC_THROW_INTERNAL();
17341  goto tmp2_done;
17342  tmp2_done:;
17343  }
17344  }
17345  _outExpComponentRefLst = tmpMeta[0];
17346  _return: OMC_LABEL_UNUSED
17347  return _outExpComponentRefLst;
17348 }
modelica_metatype modelica_string
float mmc_switch_type
DLLExport modelica_metatype omc_ComponentReference_makeCrefQual(threadData_t *threadData, modelica_string _ident, modelica_metatype _identType, modelica_metatype _subscriptLst, modelica_metatype _componentRef)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getStreamVariables2(threadData_t *threadData, modelica_metatype _inExpComponentRefLst, modelica_string _inIdent)
Definition: DAEUtil.c:17276
Here is the call graph for this function:

◆ omc_DAEUtil_getSubscriptIndex()

DLLExport modelica_integer omc_DAEUtil_getSubscriptIndex ( threadData_t threadData,
modelica_metatype  _iSubscript 
)

Definition at line 2341 of file DAEUtil.c.

2342 {
2343  modelica_integer _oIndex;
2344  modelica_integer _index;
2345  modelica_metatype _exp = NULL;
2346  modelica_integer tmp1 = 0;
2347  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
2348  MMC_SO();
2349  _tailrecursive: OMC_LABEL_UNUSED
2350 #line 2350 OMC_FILE
2351  { /* match expression */
2352  modelica_metatype tmp4_1;
2353  tmp4_1 = _iSubscript;
2354  {
2355  volatile mmc_switch_type tmp4;
2356  int tmp5;
2357  tmp4 = 0;
2358  for (; tmp4 < 3; tmp4++) {
2359  switch (MMC_SWITCH_CAST(tmp4)) {
2360  case 0: {
2361  modelica_integer tmp6;
2362  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,1) == 0) goto tmp3_end;
2363  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
2364  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,1) == 0) goto tmp3_end;
2365  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
2366  tmp6 = mmc_unbox_integer(tmpMeta[1]);
2367  _index = tmp6 /* pattern as ty=Integer */;
2368  /* Pattern matching succeeded */
2369 #line 6160 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2370  tmp1 = (modelica_integer)_index;
2371 #line 2371 OMC_FILE
2372  goto tmp3_done;
2373  }
2374  case 1: {
2375  modelica_integer tmp7;
2376  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,1) == 0) goto tmp3_end;
2377  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
2378  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],5,2) == 0) goto tmp3_end;
2379  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
2380  tmp7 = mmc_unbox_integer(tmpMeta[1]);
2381  _index = tmp7 /* pattern as ty=Integer */;
2382  /* Pattern matching succeeded */
2383 #line 6162 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2384  tmp1 = (modelica_integer)_index;
2385 #line 2385 OMC_FILE
2386  goto tmp3_done;
2387  }
2388  case 2: {
2389 
2390  /* Pattern matching succeeded */
2391 #line 6164 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2392  tmp1 = ((modelica_integer) -1);
2393 #line 2393 OMC_FILE
2394  goto tmp3_done;
2395  }
2396  }
2397  goto tmp3_end;
2398  tmp3_end: ;
2399  }
2400  goto goto_2;
2401  goto_2:;
2402  MMC_THROW_INTERNAL();
2403  goto tmp3_done;
2404  tmp3_done:;
2405  }
2406  }
2407  _oIndex = tmp1;
2408  _return: OMC_LABEL_UNUSED
2409  return _oIndex;
2410 }
m_integer modelica_integer
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getTupleExps()

DLLExport modelica_metatype omc_DAEUtil_getTupleExps ( threadData_t threadData,
modelica_metatype  _inExp 
)

Definition at line 14653 of file DAEUtil.c.

14654 {
14655  modelica_metatype _exps = NULL;
14656  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
14657  MMC_SO();
14658  _tailrecursive: OMC_LABEL_UNUSED
14659 #line 14659 OMC_FILE
14660  { /* match expression */
14661  modelica_metatype tmp3_1;
14662  tmp3_1 = _inExp;
14663  {
14664  volatile mmc_switch_type tmp3;
14665  int tmp4;
14666  tmp3 = 0;
14667  for (; tmp3 < 2; tmp3++) {
14668  switch (MMC_SWITCH_CAST(tmp3)) {
14669  case 0: {
14670  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,19,1) == 0) goto tmp2_end;
14671  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
14672  _exps = tmpMeta[1];
14673  /* Pattern matching succeeded */
14674 #line 2952 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14675  tmpMeta[0] = _exps;
14676 #line 14676 OMC_FILE
14677  goto tmp2_done;
14678  }
14679  case 1: {
14680 
14681  /* Pattern matching succeeded */
14682 #line 2955 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14683  tmpMeta[1] = mmc_mk_cons(_inExp, MMC_REFSTRUCTLIT(mmc_nil));
14684 #line 2955 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14685  tmpMeta[0] = tmpMeta[1];
14686 #line 14686 OMC_FILE
14687  goto tmp2_done;
14688  }
14689  }
14690  goto tmp2_end;
14691  tmp2_end: ;
14692  }
14693  goto goto_1;
14694  goto_1:;
14695  MMC_THROW_INTERNAL();
14696  goto tmp2_done;
14697  tmp2_done:;
14698  }
14699  }
14700  _exps = tmpMeta[0];
14701  _return: OMC_LABEL_UNUSED
14702  return _exps;
14703 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getTupleSize()

DLLExport modelica_integer omc_DAEUtil_getTupleSize ( threadData_t threadData,
modelica_metatype  _inExp 
)

Definition at line 14706 of file DAEUtil.c.

14707 {
14708  modelica_integer _size;
14709  modelica_integer tmp1 = 0;
14710  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
14711  MMC_SO();
14712  _tailrecursive: OMC_LABEL_UNUSED
14713 #line 14713 OMC_FILE
14714  { /* match expression */
14715  modelica_metatype tmp4_1;
14716  tmp4_1 = _inExp;
14717  {
14718  modelica_metatype _exps = NULL;
14719  volatile mmc_switch_type tmp4;
14720  int tmp5;
14721  tmp4 = 0;
14722  for (; tmp4 < 2; tmp4++) {
14723  switch (MMC_SWITCH_CAST(tmp4)) {
14724  case 0: {
14725  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,19,1) == 0) goto tmp3_end;
14726  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
14727  _exps = tmpMeta[0];
14728  /* Pattern matching succeeded */
14729 #line 2936 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14730  tmp1 = listLength(_exps);
14731 #line 14731 OMC_FILE
14732  goto tmp3_done;
14733  }
14734  case 1: {
14735 
14736  /* Pattern matching succeeded */
14737 #line 2940 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14738  tmp1 = ((modelica_integer) 0);
14739 #line 14739 OMC_FILE
14740  goto tmp3_done;
14741  }
14742  }
14743  goto tmp3_end;
14744  tmp3_end: ;
14745  }
14746  goto goto_2;
14747  goto_2:;
14748  MMC_THROW_INTERNAL();
14749  goto tmp3_done;
14750  tmp3_done:;
14751  }
14752  }
14753  _size = tmp1;
14754  _return: OMC_LABEL_UNUSED
14755  return _size;
14756 }
m_integer modelica_integer
float mmc_switch_type
void * modelica_metatype
modelica_integer listLength(modelica_metatype)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getUniontypePaths()

DLLExport modelica_metatype omc_DAEUtil_getUniontypePaths ( threadData_t threadData,
modelica_metatype  _funcs,
modelica_metatype  _els 
)

Definition at line 5070 of file DAEUtil.c.

5071 {
5072  modelica_metatype _outPaths = NULL;
5073  modelica_metatype _paths1 = NULL;
5074  modelica_metatype _paths2 = NULL;
5075  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
5076  MMC_SO();
5077  _tailrecursive: OMC_LABEL_UNUSED
5078 #line 5078 OMC_FILE
5079  { /* matchcontinue expression */
5080  {
5081  volatile mmc_switch_type tmp3;
5082  int tmp4;
5083  tmp3 = 0;
5084  MMC_TRY_INTERNAL(mmc_jumper)
5085  tmp2_top:
5086  threadData->mmc_jumper = &new_mmc_jumper;
5087  for (; tmp3 < 2; tmp3++) {
5088  switch (MMC_SWITCH_CAST(tmp3)) {
5089  case 0: {
5090  modelica_boolean tmp5;
5091  /* Pattern matching succeeded */
5092 #line 5305 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5093  /* Pattern-matching assignment */
5094 #line 5305 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5095  tmp5 = omc_Config_acceptMetaModelicaGrammar(threadData);
5096 #line 5305 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5097  if (0 != tmp5) goto goto_1;
5098 #line 5098 OMC_FILE
5099 #line 5306 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5100  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
5101 #line 5306 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5102  tmpMeta[0] = tmpMeta[1];
5103 #line 5103 OMC_FILE
5104  goto tmp2_done;
5105  }
5106  case 1: {
5107  /* Pattern matching succeeded */
5108 #line 5309 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5109  _paths1 = omc_DAEUtil_getUniontypePathsFunctions(threadData, _funcs);
5110 #line 5110 OMC_FILE
5111 
5112 #line 5310 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5113  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
5114 #line 5310 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5115  _paths2 = omc_DAEUtil_getUniontypePathsElements(threadData, _els, tmpMeta[1]);
5116 #line 5116 OMC_FILE
5117 #line 5312 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5118  tmpMeta[0] = listAppend(_paths1, _paths2);
5119 #line 5119 OMC_FILE
5120  goto tmp2_done;
5121  }
5122  }
5123  goto tmp2_end;
5124  tmp2_end: ;
5125  }
5126  goto goto_1;
5127  tmp2_done:
5128  (void)tmp3;
5129  MMC_RESTORE_INTERNAL(mmc_jumper);
5130  goto tmp2_done2;
5131  goto_1:;
5132  MMC_CATCH_INTERNAL(mmc_jumper);
5133  if (++tmp3 < 2) {
5134  goto tmp2_top;
5135  }
5136  MMC_THROW_INTERNAL();
5137  tmp2_done2:;
5138  }
5139  }
5140  _outPaths = tmpMeta[0];
5141  _return: OMC_LABEL_UNUSED
5142  return _outPaths;
5143 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
signed char modelica_boolean
float mmc_switch_type
modelica_metatype listAppend(modelica_metatype, modelica_metatype)
DLLExport modelica_boolean omc_Config_acceptMetaModelicaGrammar(threadData_t *threadData)
Definition: Config.c:3990
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getUniontypePathsElements(threadData_t *threadData, modelica_metatype _elements, modelica_metatype _acc)
Definition: DAEUtil.c:4918
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getUniontypePathsFunctions(threadData_t *threadData, modelica_metatype _elements)
Definition: DAEUtil.c:5006
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:

◆ omc_DAEUtil_getUniontypePathsElements()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getUniontypePathsElements ( threadData_t threadData,
modelica_metatype  _elements,
modelica_metatype  _acc 
)

Definition at line 4918 of file DAEUtil.c.

4919 {
4920  modelica_metatype _outPaths = NULL;
4921  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
4922  MMC_SO();
4923  _tailrecursive: OMC_LABEL_UNUSED
4924 #line 4924 OMC_FILE
4925  { /* match expression */
4926  modelica_metatype tmp3_1;
4927  tmp3_1 = _elements;
4928  {
4929  modelica_metatype _rest = NULL;
4930  modelica_metatype _tys = NULL;
4931  modelica_metatype _ft = NULL;
4932  volatile mmc_switch_type tmp3;
4933  int tmp4;
4934  tmp3 = 0;
4935  for (; tmp3 < 3; tmp3++) {
4936  switch (MMC_SWITCH_CAST(tmp3)) {
4937  case 0: {
4938  if (!listEmpty(tmp3_1)) goto tmp2_end;
4939  /* Pattern matching succeeded */
4940 #line 5347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4941  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
4942 #line 5347 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4943  tmpMeta[0] = omc_List_applyAndFold(threadData, _acc, boxvar_listAppend, boxvar_Types_getUniontypePaths, tmpMeta[1]);
4944 #line 4944 OMC_FILE
4945  goto tmp2_done;
4946  }
4947  case 1: {
4948  if (listEmpty(tmp3_1)) goto tmp2_end;
4949  tmpMeta[1] = MMC_CAR(tmp3_1);
4950  tmpMeta[2] = MMC_CDR(tmp3_1);
4951  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,13) == 0) goto tmp2_end;
4952  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
4953 
4954  _ft = tmpMeta[3];
4955  _rest = tmpMeta[2];
4956  /* Pattern matching succeeded */
4957 #line 5350 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4958  _tys = omc_Types_getAllInnerTypesOfType(threadData, _ft, boxvar_Types_uniontypeFilter);
4959 #line 4959 OMC_FILE
4960 #line 5351 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4961  /* Tail recursive call */
4962 #line 5351 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4963  _elements = _rest;
4964 #line 5351 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4965  _acc = listAppend(_tys, _acc);
4966 #line 5351 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4967  goto _tailrecursive;
4968 #line 5351 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4969  /* TODO: Make sure any eventual dead code below is never generated */
4970 #line 4970 OMC_FILE
4971  goto tmp2_done;
4972  }
4973  case 2: {
4974  if (listEmpty(tmp3_1)) goto tmp2_end;
4975  tmpMeta[1] = MMC_CAR(tmp3_1);
4976  tmpMeta[2] = MMC_CDR(tmp3_1);
4977  _rest = tmpMeta[2];
4978  /* Pattern matching succeeded */
4979 #line 5352 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4980  /* Tail recursive call */
4981 #line 5352 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4982  _elements = _rest;
4983 #line 5352 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4984  goto _tailrecursive;
4985 #line 5352 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4986  /* TODO: Make sure any eventual dead code below is never generated */
4987 #line 4987 OMC_FILE
4988  goto tmp2_done;
4989  }
4990  }
4991  goto tmp2_end;
4992  tmp2_end: ;
4993  }
4994  goto goto_1;
4995  goto_1:;
4996  MMC_THROW_INTERNAL();
4997  goto tmp2_done;
4998  tmp2_done:;
4999  }
5000  }
5001  _outPaths = tmpMeta[0];
5002  _return: OMC_LABEL_UNUSED
5003  return _outPaths;
5004 }
float mmc_switch_type
modelica_metatype listAppend(modelica_metatype, modelica_metatype)
DLLExport modelica_metatype omc_Types_getAllInnerTypesOfType(threadData_t *threadData, modelica_metatype _inType, modelica_fnptr _inFn)
Definition: Types.c:11691
void * modelica_metatype
DLLExport modelica_metatype omc_List_applyAndFold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFoldFunc, modelica_fnptr _inApplyFunc, modelica_metatype _inFoldArg)
Definition: List.c:10710
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getUniontypePathsFunctions()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getUniontypePathsFunctions ( threadData_t threadData,
modelica_metatype  _elements 
)

Definition at line 5006 of file DAEUtil.c.

5007 {
5008  modelica_metatype _outPaths = NULL;
5009  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
5010  MMC_SO();
5011  _tailrecursive: OMC_LABEL_UNUSED
5012 #line 5012 OMC_FILE
5013  { /* match expression */
5014  {
5015  modelica_metatype _els = NULL;
5016  modelica_metatype _els1 = NULL;
5017  modelica_metatype _els2 = NULL;
5018  volatile mmc_switch_type tmp3;
5019  int tmp4;
5020  tmp3 = 0;
5021  for (; tmp3 < 1; tmp3++) {
5022  switch (MMC_SWITCH_CAST(tmp3)) {
5023  case 0: {
5024  /* Pattern matching succeeded */
5025 #line 5327 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5026  /* Pattern-matching tuple assignment, wild first pattern */
5027 #line 5327 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5028  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
5029 #line 5327 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5030  tmpMeta[4] = mmc_mk_box2(0, boxvar_DAEUtil_collectLocalDecls, tmpMeta[3]);
5031 #line 5327 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5032  omc_DAEUtil_traverseDAEFunctions(threadData, _elements, boxvar_Expression_traverseSubexpressionsHelper, tmpMeta[4], &tmpMeta[1]);
5033 #line 5327 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5034  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
5035 #line 5327 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5036  _els1 = tmpMeta[2];
5037 #line 5037 OMC_FILE
5038 
5039 #line 5328 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5040  _els2 = omc_DAEUtil_getFunctionsElements(threadData, _elements);
5041 #line 5041 OMC_FILE
5042 
5043 #line 5329 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5044  _els = listAppend(_els1, _els2);
5045 #line 5045 OMC_FILE
5046 #line 5330 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5047  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
5048 #line 5330 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5049  tmpMeta[0] = omc_DAEUtil_getUniontypePathsElements(threadData, _els, tmpMeta[1]);
5050 #line 5050 OMC_FILE
5051  goto tmp2_done;
5052  }
5053  }
5054  goto tmp2_end;
5055  tmp2_end: ;
5056  }
5057  goto goto_1;
5058  goto_1:;
5059  MMC_THROW_INTERNAL();
5060  goto tmp2_done;
5061  tmp2_done:;
5062  }
5063  }
5064  _outPaths = tmpMeta[0];
5065  _return: OMC_LABEL_UNUSED
5066  return _outPaths;
5067 }
float mmc_switch_type
modelica_metatype listAppend(modelica_metatype, modelica_metatype)
DLLExport modelica_metatype omc_DAEUtil_traverseDAEFunctions(threadData_t *threadData, modelica_metatype _ $in_functions, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
Definition: DAEUtil.c:11233
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getUniontypePathsElements(threadData_t *threadData, modelica_metatype _elements, modelica_metatype _acc)
Definition: DAEUtil.c:4918
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getFunctionsElements(threadData_t *threadData, modelica_metatype _elements)
Definition: DAEUtil.c:15174
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getUnitAttr()

DLLExport modelica_metatype omc_DAEUtil_getUnitAttr ( threadData_t threadData,
modelica_metatype  _inVariableAttributesOption 
)

Definition at line 23830 of file DAEUtil.c.

23831 {
23832  modelica_metatype _start = NULL;
23833  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
23834  MMC_SO();
23835  _tailrecursive: OMC_LABEL_UNUSED
23836 #line 23836 OMC_FILE
23837  { /* match expression */
23838  modelica_metatype tmp3_1;
23839  tmp3_1 = _inVariableAttributesOption;
23840  {
23841  modelica_metatype _u = NULL;
23842  volatile mmc_switch_type tmp3;
23843  int tmp4;
23844  tmp3 = 0;
23845  for (; tmp3 < 2; tmp3++) {
23846  switch (MMC_SWITCH_CAST(tmp3)) {
23847  case 0: {
23848  if (optionNone(tmp3_1)) goto tmp2_end;
23849  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23850  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
23851  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
23852  if (optionNone(tmpMeta[2])) goto tmp2_end;
23853  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
23854 
23855  _u = tmpMeta[3];
23856  /* Pattern matching succeeded */
23857 #line 798 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23858  tmpMeta[0] = _u;
23859 #line 23859 OMC_FILE
23860  goto tmp2_done;
23861  }
23862  case 1: {
23863 
23864  /* Pattern matching succeeded */
23865 #line 799 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23866  tmpMeta[0] = _OMC_LIT154;
23867 #line 23867 OMC_FILE
23868  goto tmp2_done;
23869  }
23870  }
23871  goto tmp2_end;
23872  tmp2_end: ;
23873  }
23874  goto goto_1;
23875  goto_1:;
23876  MMC_THROW_INTERNAL();
23877  goto tmp2_done;
23878  tmp2_done:;
23879  }
23880  }
23881  _start = tmpMeta[0];
23882  _return: OMC_LABEL_UNUSED
23883  return _start;
23884 }
int32 _start()
Definition: expat_lib.c:123
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getVarBinding()

DLLExport modelica_metatype omc_DAEUtil_getVarBinding ( threadData_t threadData,
modelica_metatype  _iels,
modelica_metatype  _icr 
)

Definition at line 1776 of file DAEUtil.c.

1777 {
1778  modelica_metatype _obnd = NULL;
1779  modelica_metatype _cr = NULL;
1780  modelica_metatype _e = NULL;
1781  modelica_metatype _lst = NULL;
1782  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
1783  MMC_SO();
1784  _tailrecursive: OMC_LABEL_UNUSED
1785 #line 6253 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1786  _obnd = mmc_mk_none();
1787 #line 1787 OMC_FILE
1788 
1789 #line 6254 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1790  {
1791 #line 6254 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1792  modelica_metatype _i;
1793 #line 6254 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1794  for (tmpMeta[0] = _iels; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
1795 #line 6254 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1796  {
1797 #line 6254 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1798  _i = MMC_CAR(tmpMeta[0]);
1799 #line 1799 OMC_FILE
1800  { /* match expression */
1801  modelica_metatype tmp3_1;
1802  tmp3_1 = _i;
1803  {
1804  volatile mmc_switch_type tmp3;
1805  int tmp4;
1806  tmp3 = 0;
1807  for (; tmp3 < 8; tmp3++) {
1808  switch (MMC_SWITCH_CAST(tmp3)) {
1809  case 0: {
1810  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
1811  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
1812  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 8));
1813 
1814  _cr = tmpMeta[2];
1815  _obnd = tmpMeta[3];
1816  /* Pattern matching succeeded */
1817 #line 6258 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1818  if(omc_ComponentReference_crefEqualNoStringCompare(threadData, _icr, _cr))
1819 #line 6258 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1820  {
1821 #line 6259 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1822  goto _return;
1823 #line 1823 OMC_FILE
1824  }
1825 #line 6261 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1826  tmpMeta[1] = _obnd;
1827 #line 1827 OMC_FILE
1828  goto tmp2_done;
1829  }
1830  case 1: {
1831  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,3) == 0) goto tmp2_end;
1832  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
1833  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
1834 
1835  _cr = tmpMeta[2];
1836  _e = tmpMeta[3];
1837  /* Pattern matching succeeded */
1838 #line 6266 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1839  _obnd = mmc_mk_some(_e);
1840 #line 1840 OMC_FILE
1841 
1842 #line 6267 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1843  if(omc_ComponentReference_crefEqualNoStringCompare(threadData, _icr, _cr))
1844 #line 6267 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1845  {
1846 #line 6268 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1847  goto _return;
1848 #line 1848 OMC_FILE
1849  }
1850 #line 6270 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1851  tmpMeta[1] = _obnd;
1852 #line 1852 OMC_FILE
1853  goto tmp2_done;
1854  }
1855  case 2: {
1856  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,2,3) == 0) goto tmp2_end;
1857  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
1858  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
1859 
1860  _cr = tmpMeta[2];
1861  _e = tmpMeta[3];
1862  /* Pattern matching succeeded */
1863 #line 6275 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1864  _obnd = mmc_mk_some(_e);
1865 #line 1865 OMC_FILE
1866 
1867 #line 6276 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1868  if(omc_ComponentReference_crefEqualNoStringCompare(threadData, _icr, _cr))
1869 #line 6276 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1870  {
1871 #line 6277 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1872  goto _return;
1873 #line 1873 OMC_FILE
1874  }
1875 #line 6279 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1876  tmpMeta[1] = _obnd;
1877 #line 1877 OMC_FILE
1878  goto tmp2_done;
1879  }
1880  case 3: {
1881  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,3,3) == 0) goto tmp2_end;
1882  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
1883  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],6,2) == 0) goto tmp2_end;
1884  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
1885  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
1886 
1887  _cr = tmpMeta[3];
1888  _e = tmpMeta[4];
1889  /* Pattern matching succeeded */
1890 #line 6284 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1891  _obnd = mmc_mk_some(_e);
1892 #line 1892 OMC_FILE
1893 
1894 #line 6285 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1895  if(omc_ComponentReference_crefEqualNoStringCompare(threadData, _icr, _cr))
1896 #line 6285 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1897  {
1898 #line 6286 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1899  goto _return;
1900 #line 1900 OMC_FILE
1901  }
1902 #line 6288 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1903  tmpMeta[1] = _obnd;
1904 #line 1904 OMC_FILE
1905  goto tmp2_done;
1906  }
1907  case 4: {
1908  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,3,3) == 0) goto tmp2_end;
1909  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
1910  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
1911  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp2_end;
1912  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
1913 
1914  _e = tmpMeta[2];
1915  _cr = tmpMeta[4];
1916  /* Pattern matching succeeded */
1917 #line 6293 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1918  _obnd = mmc_mk_some(_e);
1919 #line 1919 OMC_FILE
1920 
1921 #line 6294 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1922  if(omc_ComponentReference_crefEqualNoStringCompare(threadData, _icr, _cr))
1923 #line 6294 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1924  {
1925 #line 6295 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1926  goto _return;
1927 #line 1927 OMC_FILE
1928  }
1929 #line 6297 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1930  tmpMeta[1] = _obnd;
1931 #line 1931 OMC_FILE
1932  goto tmp2_done;
1933  }
1934  case 5: {
1935  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,14,3) == 0) goto tmp2_end;
1936  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
1937  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],6,2) == 0) goto tmp2_end;
1938  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
1939  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
1940 
1941  _cr = tmpMeta[3];
1942  _e = tmpMeta[4];
1943  /* Pattern matching succeeded */
1944 #line 6302 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1945  _obnd = mmc_mk_some(_e);
1946 #line 1946 OMC_FILE
1947 
1948 #line 6303 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1949  if(omc_ComponentReference_crefEqualNoStringCompare(threadData, _icr, _cr))
1950 #line 6303 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1951  {
1952 #line 6304 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1953  goto _return;
1954 #line 1954 OMC_FILE
1955  }
1956 #line 6306 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1957  tmpMeta[1] = _obnd;
1958 #line 1958 OMC_FILE
1959  goto tmp2_done;
1960  }
1961  case 6: {
1962  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,14,3) == 0) goto tmp2_end;
1963  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
1964  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
1965  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto tmp2_end;
1966  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
1967 
1968  _e = tmpMeta[2];
1969  _cr = tmpMeta[4];
1970  /* Pattern matching succeeded */
1971 #line 6311 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1972  _obnd = mmc_mk_some(_e);
1973 #line 1973 OMC_FILE
1974 
1975 #line 6312 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1976  if(omc_ComponentReference_crefEqualNoStringCompare(threadData, _icr, _cr))
1977 #line 6312 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1978  {
1979 #line 6313 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1980  goto _return;
1981 #line 1981 OMC_FILE
1982  }
1983 #line 6315 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1984  tmpMeta[1] = _obnd;
1985 #line 1985 OMC_FILE
1986  goto tmp2_done;
1987  }
1988  case 7: {
1989 
1990  /* Pattern matching succeeded */
1991 #line 6318 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1992  tmpMeta[1] = _obnd;
1993 #line 1993 OMC_FILE
1994  goto tmp2_done;
1995  }
1996  }
1997  goto tmp2_end;
1998  tmp2_end: ;
1999  }
2000  goto goto_1;
2001  goto_1:;
2002  MMC_THROW_INTERNAL();
2003  goto tmp2_done;
2004  tmp2_done:;
2005  }
2006  }
2007  _obnd = tmpMeta[1];
2008  }
2009  }
2010  _return: OMC_LABEL_UNUSED
2011  return _obnd;
2012 }
float mmc_switch_type
DLLExport modelica_boolean omc_ComponentReference_crefEqualNoStringCompare(threadData_t *threadData, modelica_metatype _inCref1, modelica_metatype _inCref2)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_getVariableAttributes()

DLLExport modelica_metatype omc_DAEUtil_getVariableAttributes ( threadData_t threadData,
modelica_metatype  _elt 
)

Definition at line 23887 of file DAEUtil.c.

23888 {
23889  modelica_metatype _variableAttributesOption = NULL;
23890  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
23891  MMC_SO();
23892  _tailrecursive: OMC_LABEL_UNUSED
23893 #line 787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23894  /* Pattern-matching assignment */
23895 #line 787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23896  tmpMeta[0] = _elt;
23897 #line 787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23898  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,13) == 0) MMC_THROW_INTERNAL();
23899 #line 787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23900  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 12));
23901 #line 787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23902  _variableAttributesOption = tmpMeta[1];
23903 #line 23903 OMC_FILE
23904  _return: OMC_LABEL_UNUSED
23905  return _variableAttributesOption;
23906 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_getVariableBindingsStr()

DLLExport modelica_string omc_DAEUtil_getVariableBindingsStr ( threadData_t threadData,
modelica_metatype  _elts 
)

Definition at line 18477 of file DAEUtil.c.

18478 {
18479  modelica_string _str = NULL;
18480  modelica_metatype _varlst = NULL;
18481  MMC_SO();
18482  _tailrecursive: OMC_LABEL_UNUSED
18483 #line 1935 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18484  _varlst = omc_DAEUtil_getVariableList(threadData, _elts);
18485 #line 18485 OMC_FILE
18486 
18487 #line 1936 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18488  _str = omc_DAEUtil_getBindingsStr(threadData, _varlst);
18489 #line 18489 OMC_FILE
18490  _return: OMC_LABEL_UNUSED
18491  return _str;
18492 }
modelica_metatype modelica_string
PROTECTED_FUNCTION_STATIC modelica_string omc_DAEUtil_getBindingsStr(threadData_t *threadData, modelica_metatype _inElementLst)
Definition: DAEUtil.c:18187
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getVariableList(threadData_t *threadData, modelica_metatype _inElementLst)
Definition: DAEUtil.c:18362
Here is the call graph for this function:

◆ omc_DAEUtil_getVariableList()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_getVariableList ( threadData_t threadData,
modelica_metatype  _inElementLst 
)

Definition at line 18362 of file DAEUtil.c.

18363 {
18364  modelica_metatype _outElementLst = NULL;
18365  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
18366  MMC_SO();
18367  _tailrecursive: OMC_LABEL_UNUSED
18368 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18369  {
18370 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18371  modelica_metatype _$tmpVar7;
18372 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18373  modelica_metatype* tmp1;
18374 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18375  modelica_metatype _$tmpVar6;
18376 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18377  int tmp2;
18378 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18379  modelica_metatype e_loopVar = 0;
18380 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18381  modelica_boolean tmp3 = 0;
18382 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18383  modelica_metatype _e;
18384 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18385  e_loopVar = _inElementLst;
18386 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18387  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
18388 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18389  _$tmpVar7 = tmpMeta[1]; /* defaultValue */
18390 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18391  tmp1 = &_$tmpVar7;
18392 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18393  while(1) {
18394 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18395  tmp2 = 1;
18396 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18397  while (!listEmpty(e_loopVar)) {
18398 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18399  _e = MMC_CAR(e_loopVar);
18400 #line 1946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18401  e_loopVar = MMC_CDR(e_loopVar);
18402 #line 18402 OMC_FILE
18403  { /* match expression */
18404  modelica_metatype tmp6_1;
18405  tmp6_1 = _e;
18406  {
18407  volatile mmc_switch_type tmp6;
18408  int tmp7;
18409  tmp6 = 0;
18410  for (; tmp6 < 3; tmp6++) {
18411  switch (MMC_SWITCH_CAST(tmp6)) {
18412  case 0: {
18413  if (mmc__uniontype__metarecord__typedef__equal(tmp6_1,0,13) == 0) goto tmp5_end;
18414  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp6_1), 7));
18415  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],9,3) == 0) goto tmp5_end;
18416  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
18417  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],3,1) == 0) goto tmp5_end;
18418 
18419  /* Pattern matching succeeded */
18420 #line 1947 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18421  tmp3 = 0;
18422 #line 18422 OMC_FILE
18423  goto tmp5_done;
18424  }
18425  case 1: {
18426  if (mmc__uniontype__metarecord__typedef__equal(tmp6_1,0,13) == 0) goto tmp5_end;
18427 
18428  /* Pattern matching succeeded */
18429 #line 1948 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18430  tmp3 = 1;
18431 #line 18431 OMC_FILE
18432  goto tmp5_done;
18433  }
18434  case 2: {
18435 
18436  /* Pattern matching succeeded */
18437 #line 1949 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18438  tmp3 = 0;
18439 #line 18439 OMC_FILE
18440  goto tmp5_done;
18441  }
18442  }
18443  goto tmp5_end;
18444  tmp5_end: ;
18445  }
18446  goto goto_4;
18447  goto_4:;
18448  MMC_THROW_INTERNAL();
18449  goto tmp5_done;
18450  tmp5_done:;
18451  }
18452  }
18453  if (tmp3) {
18454  tmp2--;
18455  break;
18456  }
18457  }
18458  if (tmp2 == 0) {
18459  _$tmpVar6 = _e;
18460  *tmp1 = mmc_mk_cons(_$tmpVar6,0);
18461  tmp1 = &MMC_CDR(*tmp1);
18462  } else if (tmp2 == 1) {
18463  break;
18464  } else {
18465  MMC_THROW_INTERNAL();
18466  }
18467  }
18468  *tmp1 = mmc_mk_nil();
18469  tmpMeta[0] = _$tmpVar7;
18470  }
18471  _outElementLst = tmpMeta[0];
18472  _return: OMC_LABEL_UNUSED
18473  return _outElementLst;
18474 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_getVariableType()

DLLExport modelica_metatype omc_DAEUtil_getVariableType ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 18318 of file DAEUtil.c.

18319 {
18320  modelica_metatype _outType = NULL;
18321  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
18322  MMC_SO();
18323  _tailrecursive: OMC_LABEL_UNUSED
18324 #line 18324 OMC_FILE
18325  { /* match expression */
18326  modelica_metatype tmp3_1;
18327  tmp3_1 = _inElement;
18328  {
18329  modelica_metatype _tp = NULL;
18330  volatile mmc_switch_type tmp3;
18331  int tmp4;
18332  tmp3 = 0;
18333  for (; tmp3 < 1; tmp3++) {
18334  switch (MMC_SWITCH_CAST(tmp3)) {
18335  case 0: {
18336  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
18337  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 7));
18338 
18339  _tp = tmpMeta[1];
18340  /* Pattern matching succeeded */
18341 #line 1964 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18342  tmpMeta[0] = _tp;
18343 #line 18343 OMC_FILE
18344  goto tmp2_done;
18345  }
18346  }
18347  goto tmp2_end;
18348  tmp2_end: ;
18349  }
18350  goto goto_1;
18351  goto_1:;
18352  MMC_THROW_INTERNAL();
18353  goto tmp2_done;
18354  tmp2_done:;
18355  }
18356  }
18357  _outType = tmpMeta[0];
18358  _return: OMC_LABEL_UNUSED
18359  return _outType;
18360 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_hasStartAttr()

DLLExport modelica_boolean omc_DAEUtil_hasStartAttr ( threadData_t threadData,
modelica_metatype  _inVariableAttributesOption 
)

Definition at line 20781 of file DAEUtil.c.

20782 {
20783  modelica_boolean _hasStart;
20784  modelica_boolean tmp1 = 0;
20785  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
20786  MMC_SO();
20787  _tailrecursive: OMC_LABEL_UNUSED
20788 #line 20788 OMC_FILE
20789  { /* match expression */
20790  modelica_metatype tmp4_1;
20791  tmp4_1 = _inVariableAttributesOption;
20792  {
20793  volatile mmc_switch_type tmp4;
20794  int tmp5;
20795  tmp4 = 0;
20796  for (; tmp4 < 5; tmp4++) {
20797  switch (MMC_SWITCH_CAST(tmp4)) {
20798  case 0: {
20799  if (optionNone(tmp4_1)) goto tmp3_end;
20800  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
20801  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,15) == 0) goto tmp3_end;
20802  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 7));
20803  if (optionNone(tmpMeta[1])) goto tmp3_end;
20804  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
20805 
20806  /* Pattern matching succeeded */
20807 #line 1350 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20808  tmp1 = 1;
20809 #line 20809 OMC_FILE
20810  goto tmp3_done;
20811  }
20812  case 1: {
20813  if (optionNone(tmp4_1)) goto tmp3_end;
20814  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
20815  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],1,11) == 0) goto tmp3_end;
20816  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 5));
20817  if (optionNone(tmpMeta[1])) goto tmp3_end;
20818  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
20819 
20820  /* Pattern matching succeeded */
20821 #line 1351 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20822  tmp1 = 1;
20823 #line 20823 OMC_FILE
20824  goto tmp3_done;
20825  }
20826  case 2: {
20827  if (optionNone(tmp4_1)) goto tmp3_end;
20828  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
20829  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],2,7) == 0) goto tmp3_end;
20830  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
20831  if (optionNone(tmpMeta[1])) goto tmp3_end;
20832  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
20833 
20834  /* Pattern matching succeeded */
20835 #line 1352 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20836  tmp1 = 1;
20837 #line 20837 OMC_FILE
20838  goto tmp3_done;
20839  }
20840  case 3: {
20841  if (optionNone(tmp4_1)) goto tmp3_end;
20842  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
20843  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],4,7) == 0) goto tmp3_end;
20844  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
20845  if (optionNone(tmpMeta[1])) goto tmp3_end;
20846  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
20847 
20848  /* Pattern matching succeeded */
20849 #line 1353 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20850  tmp1 = 1;
20851 #line 20851 OMC_FILE
20852  goto tmp3_done;
20853  }
20854  case 4: {
20855 
20856  /* Pattern matching succeeded */
20857 #line 1354 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20858  tmp1 = 0;
20859 #line 20859 OMC_FILE
20860  goto tmp3_done;
20861  }
20862  }
20863  goto tmp3_end;
20864  tmp3_end: ;
20865  }
20866  goto goto_2;
20867  goto_2:;
20868  MMC_THROW_INTERNAL();
20869  goto tmp3_done;
20870  tmp3_done:;
20871  }
20872  }
20873  _hasStart = tmp1;
20874  _return: OMC_LABEL_UNUSED
20875  return _hasStart;
20876 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_isAfterIndexInlineFunc()

DLLExport modelica_boolean omc_DAEUtil_isAfterIndexInlineFunc ( threadData_t threadData,
modelica_metatype  _inElem 
)

Definition at line 20376 of file DAEUtil.c.

20377 {
20378  modelica_boolean _b;
20379  modelica_boolean tmp1 = 0;
20380  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
20381  MMC_SO();
20382  _tailrecursive: OMC_LABEL_UNUSED
20383 #line 20383 OMC_FILE
20384  { /* match expression */
20385  modelica_metatype tmp4_1;
20386  tmp4_1 = _inElem;
20387  {
20388  volatile mmc_switch_type tmp4;
20389  int tmp5;
20390  tmp4 = 0;
20391  for (; tmp4 < 2; tmp4++) {
20392  switch (MMC_SWITCH_CAST(tmp4)) {
20393  case 0: {
20394  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,9) == 0) goto tmp3_end;
20395  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 8));
20396  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],5,0) == 0) goto tmp3_end;
20397 
20398  /* Pattern matching succeeded */
20399 #line 1498 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20400  tmp1 = 1;
20401 #line 20401 OMC_FILE
20402  goto tmp3_done;
20403  }
20404  case 1: {
20405 
20406  /* Pattern matching succeeded */
20407 #line 1499 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20408  tmp1 = 0;
20409 #line 20409 OMC_FILE
20410  goto tmp3_done;
20411  }
20412  }
20413  goto tmp3_end;
20414  tmp3_end: ;
20415  }
20416  goto goto_2;
20417  goto_2:;
20418  MMC_THROW_INTERNAL();
20419  goto tmp3_done;
20420  tmp3_done:;
20421  }
20422  }
20423  _b = tmp1;
20424  _return: OMC_LABEL_UNUSED
20425  return _b;
20426 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_isAlgorithm()

DLLExport modelica_boolean omc_DAEUtil_isAlgorithm ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 18962 of file DAEUtil.c.

18963 {
18964  modelica_boolean _outMatch;
18965  modelica_boolean tmp1 = 0;
18966  MMC_SO();
18967  _tailrecursive: OMC_LABEL_UNUSED
18968 #line 18968 OMC_FILE
18969  { /* match expression */
18970  modelica_metatype tmp4_1;
18971  tmp4_1 = _inElement;
18972  {
18973  volatile mmc_switch_type tmp4;
18974  int tmp5;
18975  tmp4 = 0;
18976  for (; tmp4 < 2; tmp4++) {
18977  switch (MMC_SWITCH_CAST(tmp4)) {
18978  case 0: {
18979  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,15,2) == 0) goto tmp3_end;
18980 
18981  /* Pattern matching succeeded */
18982 #line 1814 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18983  tmp1 = 1;
18984 #line 18984 OMC_FILE
18985  goto tmp3_done;
18986  }
18987  case 1: {
18988 
18989  /* Pattern matching succeeded */
18990 #line 1815 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18991  tmp1 = 0;
18992 #line 18992 OMC_FILE
18993  goto tmp3_done;
18994  }
18995  }
18996  goto tmp3_end;
18997  tmp3_end: ;
18998  }
18999  goto goto_2;
19000  goto_2:;
19001  MMC_THROW_INTERNAL();
19002  goto tmp3_done;
19003  tmp3_done:;
19004  }
19005  }
19006  _outMatch = tmp1;
19007  _return: OMC_LABEL_UNUSED
19008  return _outMatch;
19009 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_isBidirVar()

DLLExport modelica_boolean omc_DAEUtil_isBidirVar ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19436 of file DAEUtil.c.

19437 {
19438  modelica_boolean _outMatch;
19439  modelica_boolean tmp1 = 0;
19440  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
19441  MMC_SO();
19442  _tailrecursive: OMC_LABEL_UNUSED
19443 #line 19443 OMC_FILE
19444  { /* match expression */
19445  modelica_metatype tmp4_1;
19446  tmp4_1 = _inElement;
19447  {
19448  volatile mmc_switch_type tmp4;
19449  int tmp5;
19450  tmp4 = 0;
19451  for (; tmp4 < 2; tmp4++) {
19452  switch (MMC_SWITCH_CAST(tmp4)) {
19453  case 0: {
19454  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,13) == 0) goto tmp3_end;
19455  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
19456  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,0) == 0) goto tmp3_end;
19457  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
19458  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,0) == 0) goto tmp3_end;
19459 
19460  /* Pattern matching succeeded */
19461 #line 1726 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19462  tmp1 = 1;
19463 #line 19463 OMC_FILE
19464  goto tmp3_done;
19465  }
19466  case 1: {
19467 
19468  /* Pattern matching succeeded */
19469 #line 1727 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19470  tmp1 = 0;
19471 #line 19471 OMC_FILE
19472  goto tmp3_done;
19473  }
19474  }
19475  goto tmp3_end;
19476  tmp3_end: ;
19477  }
19478  goto goto_2;
19479  goto_2:;
19480  MMC_THROW_INTERNAL();
19481  goto tmp3_done;
19482  tmp3_done:;
19483  }
19484  }
19485  _outMatch = tmp1;
19486  _return: OMC_LABEL_UNUSED
19487  return _outMatch;
19488 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_isBidirVarDirection()

DLLExport modelica_boolean omc_DAEUtil_isBidirVarDirection ( threadData_t threadData,
modelica_metatype  _inVarDirection 
)

Definition at line 19379 of file DAEUtil.c.

19380 {
19381  modelica_boolean _outIsBidir;
19382  modelica_boolean tmp1 = 0;
19383  MMC_SO();
19384  _tailrecursive: OMC_LABEL_UNUSED
19385 #line 19385 OMC_FILE
19386  { /* match expression */
19387  modelica_metatype tmp4_1;
19388  tmp4_1 = _inVarDirection;
19389  {
19390  volatile mmc_switch_type tmp4;
19391  int tmp5;
19392  tmp4 = 0;
19393  for (; tmp4 < 2; tmp4++) {
19394  switch (MMC_SWITCH_CAST(tmp4)) {
19395  case 0: {
19396  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,0) == 0) goto tmp3_end;
19397  /* Pattern matching succeeded */
19398 #line 1736 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19399  tmp1 = 1;
19400 #line 19400 OMC_FILE
19401  goto tmp3_done;
19402  }
19403  case 1: {
19404 
19405  /* Pattern matching succeeded */
19406 #line 1737 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19407  tmp1 = 0;
19408 #line 19408 OMC_FILE
19409  goto tmp3_done;
19410  }
19411  }
19412  goto tmp3_end;
19413  tmp3_end: ;
19414  }
19415  goto goto_2;
19416  goto_2:;
19417  MMC_THROW_INTERNAL();
19418  goto tmp3_done;
19419  tmp3_done:;
19420  }
19421  }
19422  _outIsBidir = tmp1;
19423  _return: OMC_LABEL_UNUSED
19424  return _outIsBidir;
19425 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_isBound()

DLLExport modelica_boolean omc_DAEUtil_isBound ( threadData_t threadData,
modelica_metatype  _inBinding 
)

Definition at line 3641 of file DAEUtil.c.

3642 {
3643  modelica_boolean _outIsBound;
3644  modelica_boolean tmp1 = 0;
3645  MMC_SO();
3646  _tailrecursive: OMC_LABEL_UNUSED
3647 #line 3647 OMC_FILE
3648  { /* match expression */
3649  modelica_metatype tmp4_1;
3650  tmp4_1 = _inBinding;
3651  {
3652  volatile mmc_switch_type tmp4;
3653  int tmp5;
3654  tmp4 = 0;
3655  for (; tmp4 < 2; tmp4++) {
3656  switch (MMC_SWITCH_CAST(tmp4)) {
3657  case 0: {
3658  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0) == 0) goto tmp3_end;
3659  /* Pattern matching succeeded */
3660 #line 5810 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3661  tmp1 = 0;
3662 #line 3662 OMC_FILE
3663  goto tmp3_done;
3664  }
3665  case 1: {
3666 
3667  /* Pattern matching succeeded */
3668 #line 5811 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3669  tmp1 = 1;
3670 #line 3670 OMC_FILE
3671  goto tmp3_done;
3672  }
3673  }
3674  goto tmp3_end;
3675  tmp3_end: ;
3676  }
3677  goto goto_2;
3678  goto_2:;
3679  MMC_THROW_INTERNAL();
3680  goto tmp3_done;
3681  tmp3_done:;
3682  }
3683  }
3684  _outIsBound = tmp1;
3685  _return: OMC_LABEL_UNUSED
3686  return _outIsBound;
3687 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_isComment()

DLLExport modelica_boolean omc_DAEUtil_isComment ( threadData_t threadData,
modelica_metatype  _elt 
)

Definition at line 19020 of file DAEUtil.c.

19021 {
19022  modelica_boolean _b;
19023  modelica_boolean tmp1 = 0;
19024  MMC_SO();
19025  _tailrecursive: OMC_LABEL_UNUSED
19026 #line 19026 OMC_FILE
19027  { /* match expression */
19028  modelica_metatype tmp4_1;
19029  tmp4_1 = _elt;
19030  {
19031  volatile mmc_switch_type tmp4;
19032  int tmp5;
19033  tmp4 = 0;
19034  for (; tmp4 < 2; tmp4++) {
19035  switch (MMC_SWITCH_CAST(tmp4)) {
19036  case 0: {
19037  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,30,1) == 0) goto tmp3_end;
19038 
19039  /* Pattern matching succeeded */
19040 #line 1803 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19041  tmp1 = 1;
19042 #line 19042 OMC_FILE
19043  goto tmp3_done;
19044  }
19045  case 1: {
19046 
19047  /* Pattern matching succeeded */
19048 #line 1804 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19049  tmp1 = 0;
19050 #line 19050 OMC_FILE
19051  goto tmp3_done;
19052  }
19053  }
19054  goto tmp3_end;
19055  tmp3_end: ;
19056  }
19057  goto goto_2;
19058  goto_2:;
19059  MMC_THROW_INTERNAL();
19060  goto tmp3_done;
19061  tmp3_done:;
19062  }
19063  }
19064  _b = tmp1;
19065  _return: OMC_LABEL_UNUSED
19066  return _b;
19067 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_isComp()

DLLExport void omc_DAEUtil_isComp ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19946 of file DAEUtil.c.

19947 {
19948  MMC_SO();
19949  _tailrecursive: OMC_LABEL_UNUSED
19950 #line 19950 OMC_FILE
19951  { /* match expression */
19952  modelica_metatype tmp3_1;
19953  tmp3_1 = _inElement;
19954  {
19955  volatile mmc_switch_type tmp3;
19956  int tmp4;
19957  tmp3 = 0;
19958  for (; tmp3 < 1; tmp3++) {
19959  switch (MMC_SWITCH_CAST(tmp3)) {
19960  case 0: {
19961  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,17,4) == 0) goto tmp2_end;
19962 
19963  /* Pattern matching succeeded */
19964 #line 19964 OMC_FILE
19965  goto tmp2_done;
19966  }
19967  }
19968  goto tmp2_end;
19969  tmp2_end: ;
19970  }
19971  goto goto_1;
19972  goto_1:;
19973  MMC_THROW_INTERNAL();
19974  goto tmp2_done;
19975  tmp2_done:;
19976  }
19977  }
19978  ;
19979  _return: OMC_LABEL_UNUSED
19980  return;
19981 }
float mmc_switch_type
void * modelica_metatype

◆ omc_DAEUtil_isCompleteFunction()

DLLExport modelica_boolean omc_DAEUtil_isCompleteFunction ( threadData_t threadData,
modelica_metatype  _f 
)

Definition at line 3572 of file DAEUtil.c.

3573 {
3574  modelica_boolean _isComplete;
3575  modelica_boolean tmp1 = 0;
3576  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
3577  MMC_SO();
3578  _tailrecursive: OMC_LABEL_UNUSED
3579 #line 3579 OMC_FILE
3580  { /* match expression */
3581  modelica_metatype tmp4_1;
3582  tmp4_1 = _f;
3583  {
3585  int tmp4;
3586  {
3587  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
3588  case 4: {
3589 
3590  /* Pattern matching succeeded */
3591 #line 5829 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3592  tmp1 = 1;
3593 #line 3593 OMC_FILE
3594  goto tmp3_done;
3595  }
3596  case 3: {
3597  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,9) == 0) goto tmp3_end;
3598  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
3599 
3600  _functions = tmpMeta[0];
3601  /* Pattern matching succeeded */
3602 #line 5833 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3603  tmp1 = omc_DAEUtil_isCompleteFunctionBody(threadData, _functions);
3604 #line 3604 OMC_FILE
3605  goto tmp3_done;
3606  }
3607  default:
3608  tmp3_default: OMC_LABEL_UNUSED; {
3609 
3610  /* Pattern matching succeeded */
3611 #line 5835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3612  tmp1 = 0;
3613 #line 3613 OMC_FILE
3614  goto tmp3_done;
3615  }
3616  }
3617  goto tmp3_end;
3618  tmp3_end: ;
3619  }
3620  goto goto_2;
3621  goto_2:;
3622  MMC_THROW_INTERNAL();
3623  goto tmp3_done;
3624  tmp3_done:;
3625  }
3626  }
3627  _isComplete = tmp1;
3628  _return: OMC_LABEL_UNUSED
3629  return _isComplete;
3630 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isCompleteFunctionBody(threadData_t *threadData, modelica_metatype _functions)
Definition: DAEUtil.c:3451
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_isCompleteFunctionBody()

DLLExport modelica_boolean omc_DAEUtil_isCompleteFunctionBody ( threadData_t threadData,
modelica_metatype  _functions 
)

Definition at line 3451 of file DAEUtil.c.

3452 {
3453  modelica_boolean _isComplete;
3454  modelica_boolean tmp1 = 0;
3455  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
3456  MMC_SO();
3457  _tailrecursive: OMC_LABEL_UNUSED
3458 #line 3458 OMC_FILE
3459  { /* matchcontinue expression */
3460  volatile modelica_metatype tmp4_1;
3461  tmp4_1 = _functions;
3462  {
3463  modelica_metatype _rest = NULL;
3464  modelica_metatype _els = NULL;
3465  modelica_metatype _a = NULL;
3466  volatile mmc_switch_type tmp4;
3467  int tmp5;
3468  tmp4 = 0;
3469  MMC_TRY_INTERNAL(mmc_jumper)
3470  tmp3_top:
3471  threadData->mmc_jumper = &new_mmc_jumper;
3472  for (; tmp4 < 5; tmp4++) {
3473  switch (MMC_SWITCH_CAST(tmp4)) {
3474  case 0: {
3475  if (!listEmpty(tmp4_1)) goto tmp3_end;
3476  tmp4 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
3477 #line 5850 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3478  tmp1 = 0;
3479 #line 3479 OMC_FILE
3480  goto tmp3_done;
3481  }
3482  case 1: {
3483  if (listEmpty(tmp4_1)) goto tmp3_end;
3484  tmpMeta[0] = MMC_CAR(tmp4_1);
3485  tmpMeta[1] = MMC_CDR(tmp4_1);
3486  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],1,2) == 0) goto tmp3_end;
3487 
3488  tmp4 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
3489 #line 5853 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3490  tmp1 = 1;
3491 #line 3491 OMC_FILE
3492  goto tmp3_done;
3493  }
3494  case 2: {
3495  modelica_boolean tmp6;
3496  if (listEmpty(tmp4_1)) goto tmp3_end;
3497  tmpMeta[0] = MMC_CAR(tmp4_1);
3498  tmpMeta[1] = MMC_CDR(tmp4_1);
3499  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,1) == 0) goto tmp3_end;
3500  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
3501  _els = tmpMeta[2];
3502  tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
3503 #line 5859 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3504  omc_DAEUtil_splitElements(threadData, _els ,NULL ,NULL ,NULL ,&_a ,NULL ,NULL ,NULL, NULL, NULL);
3505 #line 3505 OMC_FILE
3506 
3507 #line 5860 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3508  /* Pattern-matching assignment */
3509 #line 5860 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3510  tmp6 = listEmpty(_a);
3511 #line 5860 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3512  if (0 != tmp6) goto goto_2;
3513 #line 3513 OMC_FILE
3514 #line 5861 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3515  tmp1 = 1;
3516 #line 3516 OMC_FILE
3517  goto tmp3_done;
3518  }
3519  case 3: {
3520  if (listEmpty(tmp4_1)) goto tmp3_end;
3521  tmpMeta[0] = MMC_CAR(tmp4_1);
3522  tmpMeta[1] = MMC_CDR(tmp4_1);
3523  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],2,6) == 0) goto tmp3_end;
3524 
3525  _rest = tmpMeta[1];
3526  /* Pattern matching succeeded */
3527 #line 5865 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3528  tmp1 = omc_DAEUtil_isCompleteFunctionBody(threadData, _rest);
3529 #line 3529 OMC_FILE
3530  goto tmp3_done;
3531  }
3532  case 4: {
3533 
3534  /* Pattern matching succeeded */
3535 #line 5867 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3536  tmp1 = 0;
3537 #line 3537 OMC_FILE
3538  goto tmp3_done;
3539  }
3540  }
3541  goto tmp3_end;
3542  tmp3_end: ;
3543  }
3544  goto goto_2;
3545  tmp3_done:
3546  (void)tmp4;
3547  MMC_RESTORE_INTERNAL(mmc_jumper);
3548  goto tmp3_done2;
3549  goto_2:;
3550  MMC_CATCH_INTERNAL(mmc_jumper);
3551  if (++tmp4 < 5) {
3552  goto tmp3_top;
3553  }
3554  MMC_THROW_INTERNAL();
3555  tmp3_done2:;
3556  }
3557  }
3558  _isComplete = tmp1;
3559  _return: OMC_LABEL_UNUSED
3560  return _isComplete;
3561 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_boolean omc_DAEUtil_isCompleteFunctionBody(threadData_t *threadData, modelica_metatype _functions)
Definition: DAEUtil.c:3451
void * modelica_metatype
DLLExport modelica_metatype omc_DAEUtil_splitElements(threadData_t *threadData, modelica_metatype _elements, modelica_metatype *out_initialEquations, modelica_metatype *out_initialAlgorithms, modelica_metatype *out_equations, modelica_metatype *out_algorithms, modelica_metatype *out_classAttributes, modelica_metatype *out_constraints, modelica_metatype *out_externalObjects, modelica_metatype *out_stateMachineComps, modelica_metatype *out_comments)
Definition: DAEUtil.c:5324
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_isComplexEquation()

DLLExport modelica_boolean omc_DAEUtil_isComplexEquation ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 18672 of file DAEUtil.c.

18673 {
18674  modelica_boolean _outMatch;
18675  modelica_boolean tmp1 = 0;
18676  MMC_SO();
18677  _tailrecursive: OMC_LABEL_UNUSED
18678 #line 18678 OMC_FILE
18679  { /* match expression */
18680  modelica_metatype tmp4_1;
18681  tmp4_1 = _inElement;
18682  {
18683  volatile mmc_switch_type tmp4;
18684  int tmp5;
18685  tmp4 = 0;
18686  for (; tmp4 < 2; tmp4++) {
18687  switch (MMC_SWITCH_CAST(tmp4)) {
18688  case 0: {
18689  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,8,3) == 0) goto tmp3_end;
18690 
18691  /* Pattern matching succeeded */
18692 #line 1869 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18693  tmp1 = 1;
18694 #line 18694 OMC_FILE
18695  goto tmp3_done;
18696  }
18697  case 1: {
18698 
18699  /* Pattern matching succeeded */
18700 #line 1870 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18701  tmp1 = 0;
18702 #line 18702 OMC_FILE
18703  goto tmp3_done;
18704  }
18705  }
18706  goto tmp3_end;
18707  tmp3_end: ;
18708  }
18709  goto goto_2;
18710  goto_2:;
18711  MMC_THROW_INTERNAL();
18712  goto tmp3_done;
18713  tmp3_done:;
18714  }
18715  }
18716  _outMatch = tmp1;
18717  _return: OMC_LABEL_UNUSED
18718  return _outMatch;
18719 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_isComplexVar()

DLLExport modelica_boolean omc_DAEUtil_isComplexVar ( threadData_t threadData,
modelica_metatype  _inVar 
)

Definition at line 3197 of file DAEUtil.c.

3198 {
3199  modelica_boolean _outIsComplex;
3200  modelica_metatype _ty = NULL;
3201  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3202  MMC_SO();
3203  _tailrecursive: OMC_LABEL_UNUSED
3204 #line 5925 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3205  /* Pattern-matching assignment */
3206 #line 5925 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3207  tmpMeta[0] = _inVar;
3208 #line 5925 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3209  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
3210 #line 5925 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3211  _ty = tmpMeta[1];
3212 #line 3212 OMC_FILE
3213 
3214 #line 5926 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3215  _outIsComplex = omc_Types_isComplexType(threadData, _ty);
3216 #line 3216 OMC_FILE
3217  _return: OMC_LABEL_UNUSED
3218  return _outIsComplex;
3219 }
signed char modelica_boolean
DLLExport modelica_boolean omc_Types_isComplexType(threadData_t *threadData, modelica_metatype _ity)
Definition: Types.c:33811
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_isExtFunction()

DLLExport modelica_boolean omc_DAEUtil_isExtFunction ( threadData_t threadData,
modelica_metatype  _elt 
)

Definition at line 6074 of file DAEUtil.c.

6075 {
6076  modelica_boolean _res;
6077  modelica_boolean tmp1 = 0;
6078  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
6079  MMC_SO();
6080  _tailrecursive: OMC_LABEL_UNUSED
6081 #line 6081 OMC_FILE
6082  { /* match expression */
6083  modelica_metatype tmp4_1;
6084  tmp4_1 = _elt;
6085  {
6086  volatile mmc_switch_type tmp4;
6087  int tmp5;
6088  tmp4 = 0;
6089  for (; tmp4 < 2; tmp4++) {
6090  switch (MMC_SWITCH_CAST(tmp4)) {
6091  case 0: {
6092  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,9) == 0) goto tmp3_end;
6093  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
6094  if (listEmpty(tmpMeta[0])) goto tmp3_end;
6095  tmpMeta[1] = MMC_CAR(tmpMeta[0]);
6096  tmpMeta[2] = MMC_CDR(tmpMeta[0]);
6097  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,2) == 0) goto tmp3_end;
6098 
6099  /* Pattern matching succeeded */
6100 #line 5051 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6101  tmp1 = 1;
6102 #line 6102 OMC_FILE
6103  goto tmp3_done;
6104  }
6105  case 1: {
6106 
6107  /* Pattern matching succeeded */
6108 #line 5052 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6109  tmp1 = 0;
6110 #line 6110 OMC_FILE
6111  goto tmp3_done;
6112  }
6113  }
6114  goto tmp3_end;
6115  tmp3_end: ;
6116  }
6117  goto goto_2;
6118  goto_2:;
6119  MMC_THROW_INTERNAL();
6120  goto tmp3_done;
6121  tmp3_done:;
6122  }
6123  }
6124  _res = tmp1;
6125  _return: OMC_LABEL_UNUSED
6126  return _res;
6127 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_isFlow()

DLLExport modelica_boolean omc_DAEUtil_isFlow ( threadData_t threadData,
modelica_metatype  _inFlow 
)

Definition at line 19783 of file DAEUtil.c.

19784 {
19785  modelica_boolean _outIsFlow;
19786  modelica_boolean tmp1 = 0;
19787  MMC_SO();
19788  _tailrecursive: OMC_LABEL_UNUSED
19789 #line 19789 OMC_FILE
19790  { /* match expression */
19791  modelica_metatype tmp4_1;
19792  tmp4_1 = _inFlow;
19793  {
19794  volatile mmc_switch_type tmp4;
19795  int tmp5;
19796  tmp4 = 0;
19797  for (; tmp4 < 2; tmp4++) {
19798  switch (MMC_SWITCH_CAST(tmp4)) {
19799  case 0: {
19800  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,0) == 0) goto tmp3_end;
19801  /* Pattern matching succeeded */
19802 #line 1661 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19803  tmp1 = 1;
19804 #line 19804 OMC_FILE
19805  goto tmp3_done;
19806  }
19807  case 1: {
19808 
19809  /* Pattern matching succeeded */
19810 #line 1662 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19811  tmp1 = 0;
19812 #line 19812 OMC_FILE
19813  goto tmp3_done;
19814  }
19815  }
19816  goto tmp3_end;
19817  tmp3_end: ;
19818  }
19819  goto goto_2;
19820  goto_2:;
19821  MMC_THROW_INTERNAL();
19822  goto tmp3_done;
19823  tmp3_done:;
19824  }
19825  }
19826  _outIsFlow = tmp1;
19827  _return: OMC_LABEL_UNUSED
19828  return _outIsFlow;
19829 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_isFlowVar()

DLLExport void omc_DAEUtil_isFlowVar ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19867 of file DAEUtil.c.

19868 {
19869  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
19870  MMC_SO();
19871  _tailrecursive: OMC_LABEL_UNUSED
19872 #line 1646 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19873  /* Pattern-matching assignment */
19874 #line 1646 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19875  tmpMeta[0] = _inElement;
19876 #line 1646 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19877  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,13) == 0) MMC_THROW_INTERNAL();
19878 #line 1646 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19879  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19880 #line 1646 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19881  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,0) == 0) MMC_THROW_INTERNAL();
19882 #line 1646 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19883  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 10));
19884 #line 1646 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19885  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],1,0) == 0) MMC_THROW_INTERNAL();
19886 #line 1646 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19887 
19888 #line 19888 OMC_FILE
19889  _return: OMC_LABEL_UNUSED
19890  return;
19891 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_isFunctionInlineFalse()

DLLExport modelica_boolean omc_DAEUtil_isFunctionInlineFalse ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 18611 of file DAEUtil.c.

18612 {
18613  modelica_boolean _res;
18614  modelica_boolean tmp1 = 0;
18615  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
18616  MMC_SO();
18617  _tailrecursive: OMC_LABEL_UNUSED
18618 #line 18618 OMC_FILE
18619  { /* match expression */
18620  modelica_metatype tmp4_1;
18621  tmp4_1 = _inElement;
18622  {
18623  volatile mmc_switch_type tmp4;
18624  int tmp5;
18625  tmp4 = 0;
18626  for (; tmp4 < 2; tmp4++) {
18627  switch (MMC_SWITCH_CAST(tmp4)) {
18628  case 0: {
18629  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,9) == 0) goto tmp3_end;
18630  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 8));
18631  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],4,0) == 0) goto tmp3_end;
18632 
18633  /* Pattern matching succeeded */
18634 #line 1881 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18635  tmp1 = 1;
18636 #line 18636 OMC_FILE
18637  goto tmp3_done;
18638  }
18639  case 1: {
18640 
18641  /* Pattern matching succeeded */
18642 #line 1882 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18643  tmp1 = 0;
18644 #line 18644 OMC_FILE
18645  goto tmp3_done;
18646  }
18647  }
18648  goto tmp3_end;
18649  tmp3_end: ;
18650  }
18651  goto goto_2;
18652  goto_2:;
18653  MMC_THROW_INTERNAL();
18654  goto tmp3_done;
18655  tmp3_done:;
18656  }
18657  }
18658  _res = tmp1;
18659  _return: OMC_LABEL_UNUSED
18660  return _res;
18661 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_isFunctionRefVar()

DLLExport modelica_boolean omc_DAEUtil_isFunctionRefVar ( threadData_t threadData,
modelica_metatype  _inElem 
)

Definition at line 19078 of file DAEUtil.c.

19079 {
19080  modelica_boolean _outBoolean;
19081  modelica_boolean tmp1 = 0;
19082  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
19083  MMC_SO();
19084  _tailrecursive: OMC_LABEL_UNUSED
19085 #line 19085 OMC_FILE
19086  { /* match expression */
19087  modelica_metatype tmp4_1;
19088  tmp4_1 = _inElem;
19089  {
19090  volatile mmc_switch_type tmp4;
19091  int tmp5;
19092  tmp4 = 0;
19093  for (; tmp4 < 2; tmp4++) {
19094  switch (MMC_SWITCH_CAST(tmp4)) {
19095  case 0: {
19096  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,13) == 0) goto tmp3_end;
19097  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 7));
19098  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],11,4) == 0) goto tmp3_end;
19099 
19100  /* Pattern matching succeeded */
19101 #line 1793 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19102  tmp1 = 1;
19103 #line 19103 OMC_FILE
19104  goto tmp3_done;
19105  }
19106  case 1: {
19107 
19108  /* Pattern matching succeeded */
19109 #line 1794 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19110  tmp1 = 0;
19111 #line 19111 OMC_FILE
19112  goto tmp3_done;
19113  }
19114  }
19115  goto tmp3_end;
19116  tmp3_end: ;
19117  }
19118  goto goto_2;
19119  goto_2:;
19120  MMC_THROW_INTERNAL();
19121  goto tmp3_done;
19122  tmp3_done:;
19123  }
19124  }
19125  _outBoolean = tmp1;
19126  _return: OMC_LABEL_UNUSED
19127  return _outBoolean;
19128 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_isIfEquation()

PROTECTED_FUNCTION_STATIC void omc_DAEUtil_isIfEquation ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 5216 of file DAEUtil.c.

5217 {
5218  MMC_SO();
5219  _tailrecursive: OMC_LABEL_UNUSED
5220 #line 5220 OMC_FILE
5221  { /* match expression */
5222  modelica_metatype tmp3_1;
5223  tmp3_1 = _inElement;
5224  {
5225  volatile mmc_switch_type tmp3;
5226  int tmp4;
5227  tmp3 = 0;
5228  for (; tmp3 < 2; tmp3++) {
5229  switch (MMC_SWITCH_CAST(tmp3)) {
5230  case 0: {
5231  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,12,4) == 0) goto tmp2_end;
5232 
5233  /* Pattern matching succeeded */
5234 #line 5234 OMC_FILE
5235  goto tmp2_done;
5236  }
5237  case 1: {
5238  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,4) == 0) goto tmp2_end;
5239 
5240  /* Pattern matching succeeded */
5241 #line 5241 OMC_FILE
5242  goto tmp2_done;
5243  }
5244  }
5245  goto tmp2_end;
5246  tmp2_end: ;
5247  }
5248  goto goto_1;
5249  goto_1:;
5250  MMC_THROW_INTERNAL();
5251  goto tmp2_done;
5252  tmp2_done:;
5253  }
5254  }
5255  ;
5256  _return: OMC_LABEL_UNUSED
5257  return;
5258 }
float mmc_switch_type
void * modelica_metatype

◆ omc_DAEUtil_isInnerVar()

DLLExport modelica_boolean omc_DAEUtil_isInnerVar ( threadData_t threadData,
modelica_metatype  _element 
)

Definition at line 20044 of file DAEUtil.c.

20045 {
20046  modelica_boolean _isInner;
20047  modelica_boolean tmp1 = 0;
20048  MMC_SO();
20049  _tailrecursive: OMC_LABEL_UNUSED
20050 #line 20050 OMC_FILE
20051  { /* match expression */
20052  modelica_metatype tmp4_1;
20053  tmp4_1 = _element;
20054  {
20055  volatile mmc_switch_type tmp4;
20056  int tmp5;
20057  tmp4 = 0;
20058  for (; tmp4 < 2; tmp4++) {
20059  switch (MMC_SWITCH_CAST(tmp4)) {
20060  case 0: {
20061  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,13) == 0) goto tmp3_end;
20062 
20063  /* Pattern matching succeeded */
20064 #line 1572 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20065  tmp1 = omc_Absyn_isInner(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_element), 14))));
20066 #line 20066 OMC_FILE
20067  goto tmp3_done;
20068  }
20069  case 1: {
20070 
20071  /* Pattern matching succeeded */
20072 #line 1573 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20073  tmp1 = 0;
20074 #line 20074 OMC_FILE
20075  goto tmp3_done;
20076  }
20077  }
20078  goto tmp3_end;
20079  tmp3_end: ;
20080  }
20081  goto goto_2;
20082  goto_2:;
20083  MMC_THROW_INTERNAL();
20084  goto tmp3_done;
20085  tmp3_done:;
20086  }
20087  }
20088  _isInner = tmp1;
20089  _return: OMC_LABEL_UNUSED
20090  return _isInner;
20091 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
DLLExport modelica_boolean omc_Absyn_isInner(threadData_t *threadData, modelica_metatype _io)
Definition: Absyn.c:8701
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_isInput()

DLLExport modelica_boolean omc_DAEUtil_isInput ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19255 of file DAEUtil.c.

19256 {
19257  modelica_boolean _outMatch;
19258  modelica_boolean tmp1 = 0;
19259  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
19260  MMC_SO();
19261  _tailrecursive: OMC_LABEL_UNUSED
19262 #line 19262 OMC_FILE
19263  { /* match expression */
19264  modelica_metatype tmp4_1;
19265  tmp4_1 = _inElement;
19266  {
19267  volatile mmc_switch_type tmp4;
19268  int tmp5;
19269  tmp4 = 0;
19270  for (; tmp4 < 2; tmp4++) {
19271  switch (MMC_SWITCH_CAST(tmp4)) {
19272  case 0: {
19273  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,13) == 0) goto tmp3_end;
19274  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
19275  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,0) == 0) goto tmp3_end;
19276 
19277  /* Pattern matching succeeded */
19278 #line 1760 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19279  tmp1 = 1;
19280 #line 19280 OMC_FILE
19281  goto tmp3_done;
19282  }
19283  case 1: {
19284 
19285  /* Pattern matching succeeded */
19286 #line 1761 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19287  tmp1 = 0;
19288 #line 19288 OMC_FILE
19289  goto tmp3_done;
19290  }
19291  }
19292  goto tmp3_end;
19293  tmp3_end: ;
19294  }
19295  goto goto_2;
19296  goto_2:;
19297  MMC_THROW_INTERNAL();
19298  goto tmp3_done;
19299  tmp3_done:;
19300  }
19301  }
19302  _outMatch = tmp1;
19303  _return: OMC_LABEL_UNUSED
19304  return _outMatch;
19305 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_isInputVar()

DLLExport modelica_boolean omc_DAEUtil_isInputVar ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19316 of file DAEUtil.c.

19317 {
19318  modelica_boolean _outMatch;
19319  modelica_boolean tmp1 = 0;
19320  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
19321  MMC_SO();
19322  _tailrecursive: OMC_LABEL_UNUSED
19323 #line 19323 OMC_FILE
19324  { /* match expression */
19325  modelica_metatype tmp4_1;
19326  tmp4_1 = _inElement;
19327  {
19328  volatile mmc_switch_type tmp4;
19329  int tmp5;
19330  tmp4 = 0;
19331  for (; tmp4 < 2; tmp4++) {
19332  switch (MMC_SWITCH_CAST(tmp4)) {
19333  case 0: {
19334  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,13) == 0) goto tmp3_end;
19335  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
19336  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,0) == 0) goto tmp3_end;
19337  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
19338  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,0) == 0) goto tmp3_end;
19339 
19340  /* Pattern matching succeeded */
19341 #line 1748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19342  tmp1 = 1;
19343 #line 19343 OMC_FILE
19344  goto tmp3_done;
19345  }
19346  case 1: {
19347 
19348  /* Pattern matching succeeded */
19349 #line 1749 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19350  tmp1 = 0;
19351 #line 19351 OMC_FILE
19352  goto tmp3_done;
19353  }
19354  }
19355  goto tmp3_end;
19356  tmp3_end: ;
19357  }
19358  goto goto_2;
19359  goto_2:;
19360  MMC_THROW_INTERNAL();
19361  goto tmp3_done;
19362  tmp3_done:;
19363  }
19364  }
19365  _outMatch = tmp1;
19366  _return: OMC_LABEL_UNUSED
19367  return _outMatch;
19368 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_isInvalidFunctionEntry()

PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_isInvalidFunctionEntry ( threadData_t threadData,
modelica_metatype  _tpl 
)

Definition at line 11395 of file DAEUtil.c.

11396 {
11397  modelica_boolean _b;
11398  modelica_boolean tmp1 = 0;
11399  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
11400  MMC_SO();
11401  _tailrecursive: OMC_LABEL_UNUSED
11402 #line 11402 OMC_FILE
11403  { /* match expression */
11404  modelica_metatype tmp4_1;
11405  tmp4_1 = _tpl;
11406  {
11407  volatile mmc_switch_type tmp4;
11408  int tmp5;
11409  tmp4 = 0;
11410  for (; tmp4 < 2; tmp4++) {
11411  switch (MMC_SWITCH_CAST(tmp4)) {
11412  case 0: {
11413  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
11414  if (!optionNone(tmpMeta[0])) goto tmp3_end;
11415  /* Pattern matching succeeded */
11416 #line 3857 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11417  tmp1 = 1;
11418 #line 11418 OMC_FILE
11419  goto tmp3_done;
11420  }
11421  case 1: {
11422 
11423  /* Pattern matching succeeded */
11424 #line 3858 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11425  tmp1 = 0;
11426 #line 11426 OMC_FILE
11427  goto tmp3_done;
11428  }
11429  }
11430  goto tmp3_end;
11431  tmp3_end: ;
11432  }
11433  goto goto_2;
11434  goto_2:;
11435  MMC_THROW_INTERNAL();
11436  goto tmp3_done;
11437  tmp3_done:;
11438  }
11439  }
11440  _b = tmp1;
11441  _return: OMC_LABEL_UNUSED
11442  return _b;
11443 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_isNotCompleteFunction()

DLLExport modelica_boolean omc_DAEUtil_isNotCompleteFunction ( threadData_t threadData,
modelica_metatype  _f 
)

Definition at line 3430 of file DAEUtil.c.

3431 {
3432  modelica_boolean _isNotComplete;
3433  MMC_SO();
3434  _tailrecursive: OMC_LABEL_UNUSED
3435 #line 5875 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3436  _isNotComplete = (!omc_DAEUtil_isCompleteFunction(threadData, _f));
3437 #line 3437 OMC_FILE
3438  _return: OMC_LABEL_UNUSED
3439  return _isNotComplete;
3440 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isCompleteFunction(threadData_t *threadData, modelica_metatype _f)
Definition: DAEUtil.c:3572
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_isNotParamOrConstVar()

DLLExport modelica_boolean omc_DAEUtil_isNotParamOrConstVar ( threadData_t threadData,
modelica_metatype  _inVar 
)

Definition at line 20187 of file DAEUtil.c.

20188 {
20189  modelica_boolean _outIsNotParamOrConst;
20190  MMC_SO();
20191  _tailrecursive: OMC_LABEL_UNUSED
20192 #line 1544 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20193  _outIsNotParamOrConst = (!omc_DAEUtil_isParamOrConstVar(threadData, _inVar));
20194 #line 20194 OMC_FILE
20195  _return: OMC_LABEL_UNUSED
20196  return _outIsNotParamOrConst;
20197 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isParamOrConstVar(threadData_t *threadData, modelica_metatype _inVar)
Definition: DAEUtil.c:20208
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_isNotVar()

DLLExport modelica_boolean omc_DAEUtil_isNotVar ( threadData_t threadData,
modelica_metatype  _e 
)

Definition at line 19197 of file DAEUtil.c.

19198 {
19199  modelica_boolean _outMatch;
19200  modelica_boolean tmp1 = 0;
19201  MMC_SO();
19202  _tailrecursive: OMC_LABEL_UNUSED
19203 #line 19203 OMC_FILE
19204  { /* match expression */
19205  modelica_metatype tmp4_1;
19206  tmp4_1 = _e;
19207  {
19208  volatile mmc_switch_type tmp4;
19209  int tmp5;
19210  tmp4 = 0;
19211  for (; tmp4 < 2; tmp4++) {
19212  switch (MMC_SWITCH_CAST(tmp4)) {
19213  case 0: {
19214  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,13) == 0) goto tmp3_end;
19215 
19216  /* Pattern matching succeeded */
19217 #line 1771 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19218  tmp1 = 0;
19219 #line 19219 OMC_FILE
19220  goto tmp3_done;
19221  }
19222  case 1: {
19223 
19224  /* Pattern matching succeeded */
19225 #line 1772 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19226  tmp1 = 1;
19227 #line 19227 OMC_FILE
19228  goto tmp3_done;
19229  }
19230  }
19231  goto tmp3_end;
19232  tmp3_end: ;
19233  }
19234  goto goto_2;
19235  goto_2:;
19236  MMC_THROW_INTERNAL();
19237  goto tmp3_done;
19238  tmp3_done:;
19239  }
19240  }
19241  _outMatch = tmp1;
19242  _return: OMC_LABEL_UNUSED
19243  return _outMatch;
19244 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_isOuterVar()

DLLExport modelica_boolean omc_DAEUtil_isOuterVar ( threadData_t threadData,
modelica_metatype  _element 
)

Definition at line 19984 of file DAEUtil.c.

19985 {
19986  modelica_boolean _isOuter;
19987  modelica_boolean tmp1 = 0;
19988  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
19989  MMC_SO();
19990  _tailrecursive: OMC_LABEL_UNUSED
19991 #line 19991 OMC_FILE
19992  { /* match expression */
19993  modelica_metatype tmp4_1;
19994  tmp4_1 = _element;
19995  {
19996  volatile mmc_switch_type tmp4;
19997  int tmp5;
19998  tmp4 = 0;
19999  for (; tmp4 < 2; tmp4++) {
20000  switch (MMC_SWITCH_CAST(tmp4)) {
20001  case 0: {
20002  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,13) == 0) goto tmp3_end;
20003  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 14));
20004  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],1,0) == 0) goto tmp3_end;
20005  /* Pattern matching succeeded */
20006 #line 1583 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20007  tmp1 = 1;
20008 #line 20008 OMC_FILE
20009  goto tmp3_done;
20010  }
20011  case 1: {
20012 
20013  /* Pattern matching succeeded */
20014 #line 1586 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20015  tmp1 = 0;
20016 #line 20016 OMC_FILE
20017  goto tmp3_done;
20018  }
20019  }
20020  goto tmp3_end;
20021  tmp3_end: ;
20022  }
20023  goto goto_2;
20024  goto_2:;
20025  MMC_THROW_INTERNAL();
20026  goto tmp3_done;
20027  tmp3_done:;
20028  }
20029  }
20030  _isOuter = tmp1;
20031  _return: OMC_LABEL_UNUSED
20032  return _isOuter;
20033 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_isOutputVar()

DLLExport modelica_boolean omc_DAEUtil_isOutputVar ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19662 of file DAEUtil.c.

19663 {
19664  modelica_boolean _outMatch;
19665  modelica_boolean tmp1 = 0;
19666  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
19667  MMC_SO();
19668  _tailrecursive: OMC_LABEL_UNUSED
19669 #line 19669 OMC_FILE
19670  { /* match expression */
19671  modelica_metatype tmp4_1;
19672  tmp4_1 = _inElement;
19673  {
19674  volatile mmc_switch_type tmp4;
19675  int tmp5;
19676  tmp4 = 0;
19677  for (; tmp4 < 2; tmp4++) {
19678  switch (MMC_SWITCH_CAST(tmp4)) {
19679  case 0: {
19680  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,13) == 0) goto tmp3_end;
19681  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
19682  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,0) == 0) goto tmp3_end;
19683  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
19684  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,0) == 0) goto tmp3_end;
19685 
19686  /* Pattern matching succeeded */
19687 #line 1682 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19688  tmp1 = 1;
19689 #line 19689 OMC_FILE
19690  goto tmp3_done;
19691  }
19692  case 1: {
19693 
19694  /* Pattern matching succeeded */
19695 #line 1683 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19696  tmp1 = 0;
19697 #line 19697 OMC_FILE
19698  goto tmp3_done;
19699  }
19700  }
19701  goto tmp3_end;
19702  tmp3_end: ;
19703  }
19704  goto goto_2;
19705  goto_2:;
19706  MMC_THROW_INTERNAL();
19707  goto tmp3_done;
19708  tmp3_done:;
19709  }
19710  }
19711  _outMatch = tmp1;
19712  _return: OMC_LABEL_UNUSED
19713  return _outMatch;
19714 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_isParamConstOrComplexVar()

DLLExport modelica_boolean omc_DAEUtil_isParamConstOrComplexVar ( threadData_t threadData,
modelica_metatype  _inVar 
)

Definition at line 20166 of file DAEUtil.c.

20167 {
20168  modelica_boolean _outIsParamConstComplex;
20169  MMC_SO();
20170  _tailrecursive: OMC_LABEL_UNUSED
20171 #line 1551 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20172  _outIsParamConstComplex = (omc_DAEUtil_isParamOrConstVar(threadData, _inVar) || omc_DAEUtil_isComplexVar(threadData, _inVar));
20173 #line 20173 OMC_FILE
20174  _return: OMC_LABEL_UNUSED
20175  return _outIsParamConstComplex;
20176 }
signed char modelica_boolean
DLLExport modelica_boolean omc_DAEUtil_isParamOrConstVar(threadData_t *threadData, modelica_metatype _inVar)
Definition: DAEUtil.c:20208
DLLExport modelica_boolean omc_DAEUtil_isComplexVar(threadData_t *threadData, modelica_metatype _inVar)
Definition: DAEUtil.c:3197
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_isParameter()

DLLExport modelica_boolean omc_DAEUtil_isParameter ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 20315 of file DAEUtil.c.

20316 {
20317  modelica_boolean _outB;
20318  modelica_boolean tmp1 = 0;
20319  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
20320  MMC_SO();
20321  _tailrecursive: OMC_LABEL_UNUSED
20322 #line 20322 OMC_FILE
20323  { /* match expression */
20324  modelica_metatype tmp4_1;
20325  tmp4_1 = _inElement;
20326  {
20327  volatile mmc_switch_type tmp4;
20328  int tmp5;
20329  tmp4 = 0;
20330  for (; tmp4 < 2; tmp4++) {
20331  switch (MMC_SWITCH_CAST(tmp4)) {
20332  case 0: {
20333  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,13) == 0) goto tmp3_end;
20334  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
20335  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],2,0) == 0) goto tmp3_end;
20336 
20337  /* Pattern matching succeeded */
20338 #line 1511 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20339  tmp1 = 1;
20340 #line 20340 OMC_FILE
20341  goto tmp3_done;
20342  }
20343  case 1: {
20344 
20345  /* Pattern matching succeeded */
20346 #line 1512 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20347  tmp1 = 0;
20348 #line 20348 OMC_FILE
20349  goto tmp3_done;
20350  }
20351  }
20352  goto tmp3_end;
20353  tmp3_end: ;
20354  }
20355  goto goto_2;
20356  goto_2:;
20357  MMC_THROW_INTERNAL();
20358  goto tmp3_done;
20359  tmp3_done:;
20360  }
20361  }
20362  _outB = tmp1;
20363  _return: OMC_LABEL_UNUSED
20364  return _outB;
20365 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_isParameterOrConstant()

DLLExport modelica_boolean omc_DAEUtil_isParameterOrConstant ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 20243 of file DAEUtil.c.

20244 {
20245  modelica_boolean _b;
20246  modelica_boolean tmp1 = 0;
20247  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
20248  MMC_SO();
20249  _tailrecursive: OMC_LABEL_UNUSED
20250 #line 20250 OMC_FILE
20251  { /* match expression */
20252  modelica_metatype tmp4_1;
20253  tmp4_1 = _inElement;
20254  {
20255  volatile mmc_switch_type tmp4;
20256  int tmp5;
20257  tmp4 = 0;
20258  for (; tmp4 < 3; tmp4++) {
20259  switch (MMC_SWITCH_CAST(tmp4)) {
20260  case 0: {
20261  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,13) == 0) goto tmp3_end;
20262  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
20263  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],3,0) == 0) goto tmp3_end;
20264 
20265  /* Pattern matching succeeded */
20266 #line 1524 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20267  tmp1 = 1;
20268 #line 20268 OMC_FILE
20269  goto tmp3_done;
20270  }
20271  case 1: {
20272  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,13) == 0) goto tmp3_end;
20273  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
20274  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],2,0) == 0) goto tmp3_end;
20275 
20276  /* Pattern matching succeeded */
20277 #line 1525 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20278  tmp1 = 1;
20279 #line 20279 OMC_FILE
20280  goto tmp3_done;
20281  }
20282  case 2: {
20283 
20284  /* Pattern matching succeeded */
20285 #line 1526 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20286  tmp1 = 0;
20287 #line 20287 OMC_FILE
20288  goto tmp3_done;
20289  }
20290  }
20291  goto tmp3_end;
20292  tmp3_end: ;
20293  }
20294  goto goto_2;
20295  goto_2:;
20296  MMC_THROW_INTERNAL();
20297  goto tmp3_done;
20298  tmp3_done:;
20299  }
20300  }
20301  _b = tmp1;
20302  _return: OMC_LABEL_UNUSED
20303  return _b;
20304 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_isParamOrConstVar()

DLLExport modelica_boolean omc_DAEUtil_isParamOrConstVar ( threadData_t threadData,
modelica_metatype  _inVar 
)

Definition at line 20208 of file DAEUtil.c.

20209 {
20210  modelica_boolean _outIsParamOrConst;
20211  modelica_metatype _var = NULL;
20212  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
20213  MMC_SO();
20214  _tailrecursive: OMC_LABEL_UNUSED
20215 #line 1536 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20216  /* Pattern-matching assignment */
20217 #line 1536 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20218  tmpMeta[0] = _inVar;
20219 #line 1536 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20220  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
20221 #line 1536 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20222  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
20223 #line 1536 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20224  _var = tmpMeta[2];
20225 #line 20225 OMC_FILE
20226 
20227 #line 1537 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20228  _outIsParamOrConst = omc_SCode_isParameterOrConst(threadData, _var);
20229 #line 20229 OMC_FILE
20230  _return: OMC_LABEL_UNUSED
20231  return _outIsParamOrConst;
20232 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_SCode_isParameterOrConst(threadData_t *threadData, modelica_metatype _inVariability)
Definition: SCode.c:22356
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_isParamOrConstVarKind()

DLLExport modelica_boolean omc_DAEUtil_isParamOrConstVarKind ( threadData_t threadData,
modelica_metatype  _inVarKind 
)

Definition at line 20102 of file DAEUtil.c.

20103 {
20104  modelica_boolean _outIsParamOrConst;
20105  modelica_boolean tmp1 = 0;
20106  MMC_SO();
20107  _tailrecursive: OMC_LABEL_UNUSED
20108 #line 20108 OMC_FILE
20109  { /* match expression */
20110  modelica_metatype tmp4_1;
20111  tmp4_1 = _inVarKind;
20112  {
20113  int tmp4;
20114  {
20115  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
20116  case 5: {
20117 
20118  /* Pattern matching succeeded */
20119 #line 1560 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20120  tmp1 = 1;
20121 #line 20121 OMC_FILE
20122  goto tmp3_done;
20123  }
20124  case 6: {
20125 
20126  /* Pattern matching succeeded */
20127 #line 1561 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20128  tmp1 = 1;
20129 #line 20129 OMC_FILE
20130  goto tmp3_done;
20131  }
20132  default:
20133  tmp3_default: OMC_LABEL_UNUSED; {
20134 
20135  /* Pattern matching succeeded */
20136 #line 1562 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
20137  tmp1 = 0;
20138 #line 20138 OMC_FILE
20139  goto tmp3_done;
20140  }
20141  }
20142  goto tmp3_end;
20143  tmp3_end: ;
20144  }
20145  goto goto_2;
20146  goto_2:;
20147  MMC_THROW_INTERNAL();
20148  goto tmp3_done;
20149  tmp3_done:;
20150  }
20151  }
20152  _outIsParamOrConst = tmp1;
20153  _return: OMC_LABEL_UNUSED
20154  return _outIsParamOrConst;
20155 }
signed char modelica_boolean
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_isProtectedVar()

DLLExport modelica_boolean omc_DAEUtil_isProtectedVar ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19560 of file DAEUtil.c.

19561 {
19562  modelica_boolean _b;
19563  modelica_boolean tmp1 = 0;
19564  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
19565  MMC_SO();
19566  _tailrecursive: OMC_LABEL_UNUSED
19567 #line 19567 OMC_FILE
19568  { /* match expression */
19569  modelica_metatype tmp4_1;
19570  tmp4_1 = _inElement;
19571  {
19572  volatile mmc_switch_type tmp4;
19573  int tmp5;
19574  tmp4 = 0;
19575  for (; tmp4 < 2; tmp4++) {
19576  switch (MMC_SWITCH_CAST(tmp4)) {
19577  case 0: {
19578  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,13) == 0) goto tmp3_end;
19579  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 6));
19580  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],1,0) == 0) goto tmp3_end;
19581 
19582  /* Pattern matching succeeded */
19583 #line 1702 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19584  tmp1 = 1;
19585 #line 19585 OMC_FILE
19586  goto tmp3_done;
19587  }
19588  case 1: {
19589 
19590  /* Pattern matching succeeded */
19591 #line 1703 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19592  tmp1 = 0;
19593 #line 19593 OMC_FILE
19594  goto tmp3_done;
19595  }
19596  }
19597  goto tmp3_end;
19598  tmp3_end: ;
19599  }
19600  goto goto_2;
19601  goto_2:;
19602  MMC_THROW_INTERNAL();
19603  goto tmp3_done;
19604  tmp3_done:;
19605  }
19606  }
19607  _b = tmp1;
19608  _return: OMC_LABEL_UNUSED
19609  return _b;
19610 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_isPublicVar()

DLLExport modelica_boolean omc_DAEUtil_isPublicVar ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19499 of file DAEUtil.c.

19500 {
19501  modelica_boolean _outMatch;
19502  modelica_boolean tmp1 = 0;
19503  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
19504  MMC_SO();
19505  _tailrecursive: OMC_LABEL_UNUSED
19506 #line 19506 OMC_FILE
19507  { /* match expression */
19508  modelica_metatype tmp4_1;
19509  tmp4_1 = _inElement;
19510  {
19511  volatile mmc_switch_type tmp4;
19512  int tmp5;
19513  tmp4 = 0;
19514  for (; tmp4 < 2; tmp4++) {
19515  switch (MMC_SWITCH_CAST(tmp4)) {
19516  case 0: {
19517  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,13) == 0) goto tmp3_end;
19518  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 6));
19519  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,0) == 0) goto tmp3_end;
19520 
19521  /* Pattern matching succeeded */
19522 #line 1714 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19523  tmp1 = 1;
19524 #line 19524 OMC_FILE
19525  goto tmp3_done;
19526  }
19527  case 1: {
19528 
19529  /* Pattern matching succeeded */
19530 #line 1715 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19531  tmp1 = 0;
19532 #line 19532 OMC_FILE
19533  goto tmp3_done;
19534  }
19535  }
19536  goto tmp3_end;
19537  tmp3_end: ;
19538  }
19539  goto goto_2;
19540  goto_2:;
19541  MMC_THROW_INTERNAL();
19542  goto tmp3_done;
19543  tmp3_done:;
19544  }
19545  }
19546  _outMatch = tmp1;
19547  _return: OMC_LABEL_UNUSED
19548  return _outMatch;
19549 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_isStmtAssert()

DLLExport modelica_boolean omc_DAEUtil_isStmtAssert ( threadData_t threadData,
modelica_metatype  _stmt 
)

Definition at line 18904 of file DAEUtil.c.

18905 {
18906  modelica_boolean _b;
18907  modelica_boolean tmp1 = 0;
18908  MMC_SO();
18909  _tailrecursive: OMC_LABEL_UNUSED
18910 #line 18910 OMC_FILE
18911  { /* match expression */
18912  modelica_metatype tmp4_1;
18913  tmp4_1 = _stmt;
18914  {
18915  volatile mmc_switch_type tmp4;
18916  int tmp5;
18917  tmp4 = 0;
18918  for (; tmp4 < 2; tmp4++) {
18919  switch (MMC_SWITCH_CAST(tmp4)) {
18920  case 0: {
18921  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,8,4) == 0) goto tmp3_end;
18922 
18923  /* Pattern matching succeeded */
18924 #line 1825 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18925  tmp1 = 1;
18926 #line 18926 OMC_FILE
18927  goto tmp3_done;
18928  }
18929  case 1: {
18930 
18931  /* Pattern matching succeeded */
18932 #line 1826 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18933  tmp1 = 0;
18934 #line 18934 OMC_FILE
18935  goto tmp3_done;
18936  }
18937  }
18938  goto tmp3_end;
18939  tmp3_end: ;
18940  }
18941  goto goto_2;
18942  goto_2:;
18943  MMC_THROW_INTERNAL();
18944  goto tmp3_done;
18945  tmp3_done:;
18946  }
18947  }
18948  _b = tmp1;
18949  _return: OMC_LABEL_UNUSED
18950  return _b;
18951 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_isStmtReinit()

DLLExport modelica_boolean omc_DAEUtil_isStmtReinit ( threadData_t threadData,
modelica_metatype  _stmt 
)

Definition at line 18788 of file DAEUtil.c.

18789 {
18790  modelica_boolean _b;
18791  modelica_boolean tmp1 = 0;
18792  MMC_SO();
18793  _tailrecursive: OMC_LABEL_UNUSED
18794 #line 18794 OMC_FILE
18795  { /* match expression */
18796  modelica_metatype tmp4_1;
18797  tmp4_1 = _stmt;
18798  {
18799  volatile mmc_switch_type tmp4;
18800  int tmp5;
18801  tmp4 = 0;
18802  for (; tmp4 < 2; tmp4++) {
18803  switch (MMC_SWITCH_CAST(tmp4)) {
18804  case 0: {
18805  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,10,3) == 0) goto tmp3_end;
18806 
18807  /* Pattern matching succeeded */
18808 #line 1847 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18809  tmp1 = 1;
18810 #line 18810 OMC_FILE
18811  goto tmp3_done;
18812  }
18813  case 1: {
18814 
18815  /* Pattern matching succeeded */
18816 #line 1848 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18817  tmp1 = 0;
18818 #line 18818 OMC_FILE
18819  goto tmp3_done;
18820  }
18821  }
18822  goto tmp3_end;
18823  tmp3_end: ;
18824  }
18825  goto goto_2;
18826  goto_2:;
18827  MMC_THROW_INTERNAL();
18828  goto tmp3_done;
18829  tmp3_done:;
18830  }
18831  }
18832  _b = tmp1;
18833  _return: OMC_LABEL_UNUSED
18834  return _b;
18835 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_isStmtReturn()

DLLExport modelica_boolean omc_DAEUtil_isStmtReturn ( threadData_t threadData,
modelica_metatype  _stmt 
)

Definition at line 18846 of file DAEUtil.c.

18847 {
18848  modelica_boolean _b;
18849  modelica_boolean tmp1 = 0;
18850  MMC_SO();
18851  _tailrecursive: OMC_LABEL_UNUSED
18852 #line 18852 OMC_FILE
18853  { /* match expression */
18854  modelica_metatype tmp4_1;
18855  tmp4_1 = _stmt;
18856  {
18857  volatile mmc_switch_type tmp4;
18858  int tmp5;
18859  tmp4 = 0;
18860  for (; tmp4 < 2; tmp4++) {
18861  switch (MMC_SWITCH_CAST(tmp4)) {
18862  case 0: {
18863  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,12,1) == 0) goto tmp3_end;
18864 
18865  /* Pattern matching succeeded */
18866 #line 1836 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18867  tmp1 = 1;
18868 #line 18868 OMC_FILE
18869  goto tmp3_done;
18870  }
18871  case 1: {
18872 
18873  /* Pattern matching succeeded */
18874 #line 1837 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18875  tmp1 = 0;
18876 #line 18876 OMC_FILE
18877  goto tmp3_done;
18878  }
18879  }
18880  goto tmp3_end;
18881  tmp3_end: ;
18882  }
18883  goto goto_2;
18884  goto_2:;
18885  MMC_THROW_INTERNAL();
18886  goto tmp3_done;
18887  tmp3_done:;
18888  }
18889  }
18890  _b = tmp1;
18891  _return: OMC_LABEL_UNUSED
18892  return _b;
18893 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_isStmtTerminate()

DLLExport modelica_boolean omc_DAEUtil_isStmtTerminate ( threadData_t threadData,
modelica_metatype  _stmt 
)

Definition at line 18730 of file DAEUtil.c.

18731 {
18732  modelica_boolean _b;
18733  modelica_boolean tmp1 = 0;
18734  MMC_SO();
18735  _tailrecursive: OMC_LABEL_UNUSED
18736 #line 18736 OMC_FILE
18737  { /* match expression */
18738  modelica_metatype tmp4_1;
18739  tmp4_1 = _stmt;
18740  {
18741  volatile mmc_switch_type tmp4;
18742  int tmp5;
18743  tmp4 = 0;
18744  for (; tmp4 < 2; tmp4++) {
18745  switch (MMC_SWITCH_CAST(tmp4)) {
18746  case 0: {
18747  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,9,2) == 0) goto tmp3_end;
18748 
18749  /* Pattern matching succeeded */
18750 #line 1858 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18751  tmp1 = 1;
18752 #line 18752 OMC_FILE
18753  goto tmp3_done;
18754  }
18755  case 1: {
18756 
18757  /* Pattern matching succeeded */
18758 #line 1859 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18759  tmp1 = 0;
18760 #line 18760 OMC_FILE
18761  goto tmp3_done;
18762  }
18763  }
18764  goto tmp3_end;
18765  tmp3_end: ;
18766  }
18767  goto goto_2;
18768  goto_2:;
18769  MMC_THROW_INTERNAL();
18770  goto tmp3_done;
18771  tmp3_done:;
18772  }
18773  }
18774  _b = tmp1;
18775  _return: OMC_LABEL_UNUSED
18776  return _b;
18777 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_isStream()

DLLExport modelica_boolean omc_DAEUtil_isStream ( threadData_t threadData,
modelica_metatype  _inStream 
)

Definition at line 19725 of file DAEUtil.c.

19726 {
19727  modelica_boolean _outIsStream;
19728  modelica_boolean tmp1 = 0;
19729  MMC_SO();
19730  _tailrecursive: OMC_LABEL_UNUSED
19731 #line 19731 OMC_FILE
19732  { /* match expression */
19733  modelica_metatype tmp4_1;
19734  tmp4_1 = _inStream;
19735  {
19736  volatile mmc_switch_type tmp4;
19737  int tmp5;
19738  tmp4 = 0;
19739  for (; tmp4 < 2; tmp4++) {
19740  switch (MMC_SWITCH_CAST(tmp4)) {
19741  case 0: {
19742  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,1) == 0) goto tmp3_end;
19743 
19744  /* Pattern matching succeeded */
19745 #line 1671 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19746  tmp1 = 1;
19747 #line 19747 OMC_FILE
19748  goto tmp3_done;
19749  }
19750  case 1: {
19751 
19752  /* Pattern matching succeeded */
19753 #line 1672 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19754  tmp1 = 0;
19755 #line 19755 OMC_FILE
19756  goto tmp3_done;
19757  }
19758  }
19759  goto tmp3_end;
19760  tmp3_end: ;
19761  }
19762  goto goto_2;
19763  goto_2:;
19764  MMC_THROW_INTERNAL();
19765  goto tmp3_done;
19766  tmp3_done:;
19767  }
19768  }
19769  _outIsStream = tmp1;
19770  _return: OMC_LABEL_UNUSED
19771  return _outIsStream;
19772 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_isStreamVar()

DLLExport void omc_DAEUtil_isStreamVar ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19840 of file DAEUtil.c.

19841 {
19842  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
19843  MMC_SO();
19844  _tailrecursive: OMC_LABEL_UNUSED
19845 #line 1653 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19846  /* Pattern-matching assignment */
19847 #line 1653 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19848  tmpMeta[0] = _inElement;
19849 #line 1653 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19850  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,13) == 0) MMC_THROW_INTERNAL();
19851 #line 1653 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19852  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19853 #line 1653 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19854  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,0) == 0) MMC_THROW_INTERNAL();
19855 #line 1653 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19856  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 10));
19857 #line 1653 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19858  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],2,1) == 0) MMC_THROW_INTERNAL();
19859 #line 1653 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19860 
19861 #line 19861 OMC_FILE
19862  _return: OMC_LABEL_UNUSED
19863  return;
19864 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_isValidFunctionEntry()

PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_isValidFunctionEntry ( threadData_t threadData,
modelica_metatype  _tpl 
)

Definition at line 11375 of file DAEUtil.c.

11376 {
11377  modelica_boolean _b;
11378  MMC_SO();
11379  _tailrecursive: OMC_LABEL_UNUSED
11380 #line 3866 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11381  _b = (!omc_DAEUtil_isInvalidFunctionEntry(threadData, _tpl));
11382 #line 11382 OMC_FILE
11383  _return: OMC_LABEL_UNUSED
11384  return _b;
11385 }
signed char modelica_boolean
PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_isInvalidFunctionEntry(threadData_t *threadData, modelica_metatype _tpl)
Definition: DAEUtil.c:11395
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_isVar()

DLLExport modelica_boolean omc_DAEUtil_isVar ( threadData_t threadData,
modelica_metatype  _inElement 
)

Definition at line 19139 of file DAEUtil.c.

19140 {
19141  modelica_boolean _outMatch;
19142  modelica_boolean tmp1 = 0;
19143  MMC_SO();
19144  _tailrecursive: OMC_LABEL_UNUSED
19145 #line 19145 OMC_FILE
19146  { /* match expression */
19147  modelica_metatype tmp4_1;
19148  tmp4_1 = _inElement;
19149  {
19150  volatile mmc_switch_type tmp4;
19151  int tmp5;
19152  tmp4 = 0;
19153  for (; tmp4 < 2; tmp4++) {
19154  switch (MMC_SWITCH_CAST(tmp4)) {
19155  case 0: {
19156  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,13) == 0) goto tmp3_end;
19157 
19158  /* Pattern matching succeeded */
19159 #line 1782 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19160  tmp1 = 1;
19161 #line 19161 OMC_FILE
19162  goto tmp3_done;
19163  }
19164  case 1: {
19165 
19166  /* Pattern matching succeeded */
19167 #line 1783 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
19168  tmp1 = 0;
19169 #line 19169 OMC_FILE
19170  goto tmp3_done;
19171  }
19172  }
19173  goto tmp3_end;
19174  tmp3_end: ;
19175  }
19176  goto goto_2;
19177  goto_2:;
19178  MMC_THROW_INTERNAL();
19179  goto tmp3_done;
19180  tmp3_done:;
19181  }
19182  }
19183  _outMatch = tmp1;
19184  _return: OMC_LABEL_UNUSED
19185  return _outMatch;
19186 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_joinDaeLst()

DLLExport modelica_metatype omc_DAEUtil_joinDaeLst ( threadData_t threadData,
modelica_metatype  _idaeLst 
)

Definition at line 5794 of file DAEUtil.c.

5795 {
5796  modelica_metatype _outDae = NULL;
5797  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
5798  MMC_SO();
5799  _tailrecursive: OMC_LABEL_UNUSED
5800 #line 5800 OMC_FILE
5801  { /* matchcontinue expression */
5802  volatile modelica_metatype tmp3_1;
5803  tmp3_1 = _idaeLst;
5804  {
5805  modelica_metatype _dae = NULL;
5806  modelica_metatype _dae1 = NULL;
5807  modelica_metatype _daeLst = NULL;
5808  volatile mmc_switch_type tmp3;
5809  int tmp4;
5810  tmp3 = 0;
5811  MMC_TRY_INTERNAL(mmc_jumper)
5812  tmp2_top:
5813  threadData->mmc_jumper = &new_mmc_jumper;
5814  for (; tmp3 < 2; tmp3++) {
5815  switch (MMC_SWITCH_CAST(tmp3)) {
5816  case 0: {
5817  if (listEmpty(tmp3_1)) goto tmp2_end;
5818  tmpMeta[1] = MMC_CAR(tmp3_1);
5819  tmpMeta[2] = MMC_CDR(tmp3_1);
5820  if (!listEmpty(tmpMeta[2])) goto tmp2_end;
5821  _dae = tmpMeta[1];
5822  /* Pattern matching succeeded */
5823 #line 5122 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5824  tmpMeta[0] = _dae;
5825 #line 5825 OMC_FILE
5826  goto tmp2_done;
5827  }
5828  case 1: {
5829  if (listEmpty(tmp3_1)) goto tmp2_end;
5830  tmpMeta[1] = MMC_CAR(tmp3_1);
5831  tmpMeta[2] = MMC_CDR(tmp3_1);
5832  _dae = tmpMeta[1];
5833  _daeLst = tmpMeta[2];
5834  /* Pattern matching succeeded */
5835 #line 5125 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5836  _dae1 = omc_DAEUtil_joinDaeLst(threadData, _daeLst);
5837 #line 5837 OMC_FILE
5838 #line 5126 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5839  tmpMeta[0] = omc_DAEUtil_joinDaes(threadData, _dae, _dae1);
5840 #line 5840 OMC_FILE
5841  goto tmp2_done;
5842  }
5843  }
5844  goto tmp2_end;
5845  tmp2_end: ;
5846  }
5847  goto goto_1;
5848  tmp2_done:
5849  (void)tmp3;
5850  MMC_RESTORE_INTERNAL(mmc_jumper);
5851  goto tmp2_done2;
5852  goto_1:;
5853  MMC_CATCH_INTERNAL(mmc_jumper);
5854  if (++tmp3 < 2) {
5855  goto tmp2_top;
5856  }
5857  MMC_THROW_INTERNAL();
5858  tmp2_done2:;
5859  }
5860  }
5861  _outDae = tmpMeta[0];
5862  _return: OMC_LABEL_UNUSED
5863  return _outDae;
5864 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
DLLExport modelica_metatype omc_DAEUtil_joinDaeLst(threadData_t *threadData, modelica_metatype _idaeLst)
Definition: DAEUtil.c:5794
float mmc_switch_type
void * modelica_metatype
DLLExport modelica_metatype omc_DAEUtil_joinDaes(threadData_t *threadData, modelica_metatype _dae1, modelica_metatype _dae2)
Definition: DAEUtil.c:5867
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_joinDaes()

DLLExport modelica_metatype omc_DAEUtil_joinDaes ( threadData_t threadData,
modelica_metatype  _dae1,
modelica_metatype  _dae2 
)

Definition at line 5867 of file DAEUtil.c.

5868 {
5869  modelica_metatype _outDae = NULL;
5870  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
5871  MMC_SO();
5872  _tailrecursive: OMC_LABEL_UNUSED
5873 #line 5873 OMC_FILE
5874  { /* match expression */
5875  modelica_metatype tmp3_1;modelica_metatype tmp3_2;
5876  tmp3_1 = _dae1;
5877  tmp3_2 = _dae2;
5878  {
5879  modelica_metatype _elts1 = NULL;
5880  modelica_metatype _elts2 = NULL;
5881  modelica_metatype _elts = NULL;
5882  volatile mmc_switch_type tmp3;
5883  int tmp4;
5884  tmp3 = 0;
5885  for (; tmp3 < 1; tmp3++) {
5886  switch (MMC_SWITCH_CAST(tmp3)) {
5887  case 0: {
5888  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
5889  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2));
5890  _elts1 = tmpMeta[1];
5891  _elts2 = tmpMeta[2];
5892  /* Pattern matching succeeded */
5893 #line 5105 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5894  _elts = listAppend(_elts1, _elts2);
5895 #line 5895 OMC_FILE
5896 #line 5109 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5897  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _elts);
5898 #line 5109 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5899  tmpMeta[0] = tmpMeta[1];
5900 #line 5900 OMC_FILE
5901  goto tmp2_done;
5902  }
5903  }
5904  goto tmp2_end;
5905  tmp2_end: ;
5906  }
5907  goto goto_1;
5908  goto_1:;
5909  MMC_THROW_INTERNAL();
5910  goto tmp2_done;
5911  tmp2_done:;
5912  }
5913  }
5914  _outDae = tmpMeta[0];
5915  _return: OMC_LABEL_UNUSED
5916  return _outDae;
5917 }
float mmc_switch_type
modelica_metatype listAppend(modelica_metatype, modelica_metatype)
void * modelica_metatype
struct record_description DAE_DAElist_DAE__desc
Definition: DAE_records.c:2591
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_makeEvaluatedParamFinal()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_makeEvaluatedParamFinal ( threadData_t threadData,
modelica_metatype  _inElement,
modelica_metatype  _ht 
)

Definition at line 4681 of file DAEUtil.c.

4682 {
4683  modelica_metatype _outElement = NULL;
4684  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
4685  MMC_SO();
4686  _tailrecursive: OMC_LABEL_UNUSED
4687 #line 4687 OMC_FILE
4688  { /* match expression */
4689  modelica_metatype tmp3_1;
4690  tmp3_1 = _inElement;
4691  {
4692  modelica_metatype _cr = NULL;
4693  modelica_metatype _varOpt = NULL;
4694  modelica_string _id = NULL;
4695  modelica_metatype _elts = NULL;
4696  modelica_metatype _source = NULL;
4697  modelica_metatype _cmt = NULL;
4698  volatile mmc_switch_type tmp3;
4699  int tmp4;
4700  tmp3 = 0;
4701  for (; tmp3 < 3; tmp3++) {
4702  switch (MMC_SWITCH_CAST(tmp3)) {
4703  case 0: {
4704  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
4705  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
4706  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
4707  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],2,0) == 0) goto tmp2_end;
4708  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 12));
4709 
4710  _cr = tmpMeta[1];
4711  _varOpt = tmpMeta[3];
4712  /* Pattern matching succeeded */
4713 #line 5482 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4714  tmpMeta[0] = (omc_AvlSetCR_hasKey(threadData, _ht, _cr)?omc_DAEUtil_setVariableAttributes(threadData, _inElement, omc_DAEUtil_setFinalAttr(threadData, _varOpt, 1)):_inElement);
4715 #line 4715 OMC_FILE
4716  goto tmp2_done;
4717  }
4718  case 1: {
4719  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,17,4) == 0) goto tmp2_end;
4720  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
4721  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
4722  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
4723  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
4724  _id = tmpMeta[1];
4725  _elts = tmpMeta[2];
4726  _source = tmpMeta[3];
4727  _cmt = tmpMeta[4];
4728  /* Pattern matching succeeded */
4729 #line 5486 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4730  _elts = omc_List_map1(threadData, _elts, boxvar_DAEUtil_makeEvaluatedParamFinal, _ht);
4731 #line 4731 OMC_FILE
4732 #line 5487 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4733  tmpMeta[1] = mmc_mk_box5(20, &DAE_Element_COMP__desc, _id, _elts, _source, _cmt);
4734 #line 5487 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4735  tmpMeta[0] = tmpMeta[1];
4736 #line 4736 OMC_FILE
4737  goto tmp2_done;
4738  }
4739  case 2: {
4740 
4741  /* Pattern matching succeeded */
4742 #line 5489 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4743  tmpMeta[0] = _inElement;
4744 #line 4744 OMC_FILE
4745  goto tmp2_done;
4746  }
4747  }
4748  goto tmp2_end;
4749  tmp2_end: ;
4750  }
4751  goto goto_1;
4752  goto_1:;
4753  MMC_THROW_INTERNAL();
4754  goto tmp2_done;
4755  tmp2_done:;
4756  }
4757  }
4758  _outElement = tmpMeta[0];
4759  _return: OMC_LABEL_UNUSED
4760  return _outElement;
4761 }
modelica_metatype modelica_string
float mmc_switch_type
DLLExport modelica_metatype omc_DAEUtil_setFinalAttr(threadData_t *threadData, modelica_metatype _attr, modelica_boolean _finalPrefix)
Definition: DAEUtil.c:21106
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_COMP__desc
Definition: DAE_records.c:1141
void * modelica_metatype
DLLExport modelica_metatype omc_DAEUtil_setVariableAttributes(threadData_t *threadData, modelica_metatype _var, modelica_metatype _varOpt)
Definition: DAEUtil.c:22804
DLLExport modelica_boolean omc_AvlSetCR_hasKey(threadData_t *threadData, modelica_metatype _inTree, modelica_metatype _inKey)
Definition: AvlSetCR.c:402
DLLExport modelica_metatype omc_List_map1(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inMapFunc, modelica_metatype _inArg1)
Definition: List.c:12846
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_mergeAlgorithmSections()

DLLExport modelica_metatype omc_DAEUtil_mergeAlgorithmSections ( threadData_t threadData,
modelica_metatype  _inDae 
)

Definition at line 924 of file DAEUtil.c.

925 {
926  modelica_metatype _outDae = NULL;
927  modelica_metatype _els = NULL;
928  modelica_metatype _newEls = NULL;
929  modelica_metatype _dAElist = NULL;
930  modelica_metatype _istmts = NULL;
931  modelica_metatype _stmts = NULL;
932  modelica_metatype _s = NULL;
933  modelica_metatype _source = NULL;
934  modelica_metatype _src = NULL;
935  modelica_string _ident = NULL;
936  modelica_metatype _comment = NULL;
937  modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
938  MMC_SO();
939  _tailrecursive: OMC_LABEL_UNUSED
940  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
941  _newEls = tmpMeta[0];
942  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
943  _istmts = tmpMeta[1];
944  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
945  _stmts = tmpMeta[2];
946 #line 6504 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
947  if((!omc_Flags_isSet(threadData, _OMC_LIT3)))
948 #line 6504 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
949  {
950 #line 6505 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
951  _outDae = _inDae;
952 #line 952 OMC_FILE
953 
954 #line 6506 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
955  goto _return;
956 #line 956 OMC_FILE
957  }
958 
959 #line 6509 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
960  /* Pattern-matching assignment */
961 #line 6509 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
962  tmpMeta[3] = _inDae;
963 #line 6509 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
964  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 2));
965 #line 6509 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
966  _els = tmpMeta[4];
967 #line 967 OMC_FILE
968 
969 #line 6510 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
970  {
971 #line 6510 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
973 #line 6510 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
974  for (tmpMeta[3] = _els; !listEmpty(tmpMeta[3]); tmpMeta[3]=MMC_CDR(tmpMeta[3]))
975 #line 6510 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
976  {
977 #line 6510 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
978  _e = MMC_CAR(tmpMeta[3]);
979 #line 979 OMC_FILE
980  { /* match expression */
981  modelica_metatype tmp3_1;
982  tmp3_1 = _e;
983  {
984  volatile mmc_switch_type tmp3;
985  int tmp4;
986  tmp3 = 0;
987  for (; tmp3 < 4; tmp3++) {
988  switch (MMC_SWITCH_CAST(tmp3)) {
989  case 0: {
990  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,17,4) == 0) goto tmp2_end;
991  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
992  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
993  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
994  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
995  _ident = tmpMeta[4];
996  _dAElist = tmpMeta[5];
997  _src = tmpMeta[6];
998  _comment = tmpMeta[7];
999  /* Pattern matching succeeded */
1000 #line 6515 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1001  /* Pattern-matching assignment */
1002 #line 6515 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1003  tmpMeta[4] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _dAElist);
1004 #line 6515 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1005  tmpMeta[5] = omc_DAEUtil_mergeAlgorithmSections(threadData, tmpMeta[4]);
1006 #line 6515 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1007  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2));
1008 #line 6515 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1009  _dAElist = tmpMeta[6];
1010 #line 1010 OMC_FILE
1011 
1012 #line 6516 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1013  tmpMeta[5] = mmc_mk_box5(20, &DAE_Element_COMP__desc, _ident, _dAElist, _src, _comment);
1014 #line 6516 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1015  tmpMeta[4] = mmc_mk_cons(tmpMeta[5], _newEls);
1016 #line 6516 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1017  _newEls = tmpMeta[4];
1018 #line 1018 OMC_FILE
1019 #line 1019 OMC_FILE
1020  goto tmp2_done;
1021  }
1022  case 1: {
1023  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,15,2) == 0) goto tmp2_end;
1024  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
1025  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
1026  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
1027  _s = tmpMeta[5];
1028  _source = tmpMeta[6];
1029  /* Pattern matching succeeded */
1030 #line 6522 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1031  /* Pattern-matching assignment */
1032 #line 6522 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1033  tmpMeta[4] = listAppend(_stmts, _s);
1034 #line 6522 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1035  _stmts = tmpMeta[4];
1036 #line 1036 OMC_FILE
1037 #line 1037 OMC_FILE
1038  goto tmp2_done;
1039  }
1040  case 2: {
1041  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,16,2) == 0) goto tmp2_end;
1042  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
1043  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
1044  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
1045  _s = tmpMeta[5];
1046  _source = tmpMeta[6];
1047  /* Pattern matching succeeded */
1048 #line 6526 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1049  /* Pattern-matching assignment */
1050 #line 6526 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1051  tmpMeta[4] = listAppend(_istmts, _s);
1052 #line 6526 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1053  _istmts = tmpMeta[4];
1054 #line 1054 OMC_FILE
1055 #line 1055 OMC_FILE
1056  goto tmp2_done;
1057  }
1058  case 3: {
1059 
1060  /* Pattern matching succeeded */
1061 #line 6530 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1062  tmpMeta[4] = mmc_mk_cons(_e, _newEls);
1063 #line 6530 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1064  _newEls = tmpMeta[4];
1065 #line 1065 OMC_FILE
1066 #line 1066 OMC_FILE
1067  goto tmp2_done;
1068  }
1069  }
1070  goto tmp2_end;
1071  tmp2_end: ;
1072  }
1073  goto goto_1;
1074  goto_1:;
1075  MMC_THROW_INTERNAL();
1076  goto tmp2_done;
1077  tmp2_done:;
1078  }
1079  }
1080  ;
1081  }
1082  }
1083 
1084 #line 6534 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1085  _newEls = listReverse(_newEls);
1086 #line 1086 OMC_FILE
1087 
1088 #line 6535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1089  if((!listEmpty(_istmts)))
1090 #line 6535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1091  {
1092 #line 6536 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1093  /* Pattern-matching assignment */
1094 #line 6536 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1095  tmpMeta[4] = mmc_mk_box2(3, &DAE_Algorithm_ALGORITHM__STMTS__desc, _istmts);
1096 #line 6536 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1097  tmpMeta[5] = mmc_mk_box3(19, &DAE_Element_INITIALALGORITHM__desc, tmpMeta[4], _source);
1098 #line 6536 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1099  tmpMeta[3] = mmc_mk_cons(tmpMeta[5], MMC_REFSTRUCTLIT(mmc_nil));
1100 #line 6536 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1101  tmpMeta[6] = listAppend(_newEls, tmpMeta[3]);
1102 #line 6536 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1103  _newEls = tmpMeta[6];
1104 #line 1104 OMC_FILE
1105  }
1106 
1107 #line 6538 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1108  if((!listEmpty(_stmts)))
1109 #line 6538 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1110  {
1111 #line 6539 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1112  /* Pattern-matching assignment */
1113 #line 6539 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1114  tmpMeta[4] = mmc_mk_box2(3, &DAE_Algorithm_ALGORITHM__STMTS__desc, _stmts);
1115 #line 6539 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1116  tmpMeta[5] = mmc_mk_box3(18, &DAE_Element_ALGORITHM__desc, tmpMeta[4], _source);
1117 #line 6539 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1118  tmpMeta[3] = mmc_mk_cons(tmpMeta[5], MMC_REFSTRUCTLIT(mmc_nil));
1119 #line 6539 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1120  tmpMeta[6] = listAppend(_newEls, tmpMeta[3]);
1121 #line 6539 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1122  _newEls = tmpMeta[6];
1123 #line 1123 OMC_FILE
1124  }
1125 
1126 #line 6542 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1127  tmpMeta[3] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _newEls);
1128 #line 6542 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1129  _outDae = tmpMeta[3];
1130 #line 1130 OMC_FILE
1131  _return: OMC_LABEL_UNUSED
1132  return _outDae;
1133 }
struct record_description DAE_Element_ALGORITHM__desc
Definition: DAE_records.c:1122
modelica_metatype modelica_string
float mmc_switch_type
modelica_metatype listAppend(modelica_metatype, modelica_metatype)
DLLExport modelica_boolean omc_Flags_isSet(threadData_t *threadData, modelica_metatype _inFlag)
Definition: Flags.c:11632
struct record_description DAE_Algorithm_ALGORITHM__STMTS__desc
Definition: DAE_records.c:2695
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIALALGORITHM__desc
Definition: DAE_records.c:1128
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_COMP__desc
Definition: DAE_records.c:1141
DLLExport modelica_metatype omc_DAEUtil_mergeAlgorithmSections(threadData_t *threadData, modelica_metatype _inDae)
Definition: DAEUtil.c:924
void * modelica_metatype
modelica_metatype listReverse(modelica_metatype)
struct record_description DAE_DAElist_DAE__desc
Definition: DAE_records.c:2591
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:

◆ omc_DAEUtil_mkEmptyVar()

DLLExport modelica_metatype omc_DAEUtil_mkEmptyVar ( threadData_t threadData,
modelica_string  _name 
)

Definition at line 3161 of file DAEUtil.c.

3162 {
3163  modelica_metatype _outVar = NULL;
3164  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
3165  MMC_SO();
3166  _tailrecursive: OMC_LABEL_UNUSED
3167 #line 5940 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3168  tmpMeta[0] = mmc_mk_box6(3, &DAE_Var_TYPES__VAR__desc, _name, _OMC_LIT23, _OMC_LIT24, _OMC_LIT25, mmc_mk_none());
3169 #line 5940 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3170  _outVar = tmpMeta[0];
3171 #line 3171 OMC_FILE
3172  _return: OMC_LABEL_UNUSED
3173  return _outVar;
3174 }
void * modelica_metatype
struct record_description DAE_Var_TYPES__VAR__desc
Definition: DAE_records.c:3319
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_moveElementToInitialSection()

DLLExport modelica_metatype omc_DAEUtil_moveElementToInitialSection ( threadData_t threadData,
modelica_metatype $in_elt 
)

Definition at line 793 of file DAEUtil.c.

794 {
795  modelica_metatype _elt = NULL;
796  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
797  MMC_SO();
798  _tailrecursive: OMC_LABEL_UNUSED
799  _elt = _$in_elt;
800 #line 800 OMC_FILE
801  { /* match expression */
802  modelica_metatype tmp3_1;
803  tmp3_1 = _elt;
804  {
805  int tmp3;
806  {
807  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
808  case 6: {
809 
810  /* Pattern matching succeeded */
811 #line 6550 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
812  tmpMeta[1] = mmc_mk_box4(17, &DAE_Element_INITIALEQUATION__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 4))));
813 #line 6550 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
814  tmpMeta[0] = tmpMeta[1];
815 #line 815 OMC_FILE
816  goto tmp2_done;
817  }
818  case 4: {
819 
820  /* Pattern matching succeeded */
821 #line 6551 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
822  tmpMeta[1] = mmc_mk_box4(5, &DAE_Element_INITIALDEFINE__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 4))));
823 #line 6551 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
824  tmpMeta[0] = tmpMeta[1];
825 #line 825 OMC_FILE
826  goto tmp2_done;
827  }
828  case 8: {
829 
830  /* Pattern matching succeeded */
831 #line 6552 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
832  tmpMeta[1] = mmc_mk_box5(9, &DAE_Element_INITIAL__ARRAY__EQUATION__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 4))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 5))));
833 #line 6552 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
834  tmpMeta[0] = tmpMeta[1];
835 #line 835 OMC_FILE
836  goto tmp2_done;
837  }
838  case 11: {
839 
840  /* Pattern matching succeeded */
841 #line 6553 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
842  tmpMeta[1] = mmc_mk_box4(12, &DAE_Element_INITIAL__COMPLEX__EQUATION__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 4))));
843 #line 6553 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
844  tmpMeta[0] = tmpMeta[1];
845 #line 845 OMC_FILE
846  goto tmp2_done;
847  }
848  case 15: {
849 
850  /* Pattern matching succeeded */
851 #line 6554 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
852  tmpMeta[1] = mmc_mk_box5(16, &DAE_Element_INITIAL__IF__EQUATION__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 4))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 5))));
853 #line 6554 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
854  tmpMeta[0] = tmpMeta[1];
855 #line 855 OMC_FILE
856  goto tmp2_done;
857  }
858  case 18: {
859 
860  /* Pattern matching succeeded */
861 #line 6555 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
862  tmpMeta[1] = mmc_mk_box3(19, &DAE_Element_INITIALALGORITHM__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 3))));
863 #line 6555 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
864  tmpMeta[0] = tmpMeta[1];
865 #line 865 OMC_FILE
866  goto tmp2_done;
867  }
868  case 22: {
869 
870  /* Pattern matching succeeded */
871 #line 6556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
872  tmpMeta[1] = mmc_mk_box5(23, &DAE_Element_INITIAL__ASSERT__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 4))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 5))));
873 #line 6556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
874  tmpMeta[0] = tmpMeta[1];
875 #line 875 OMC_FILE
876  goto tmp2_done;
877  }
878  case 24: {
879 
880  /* Pattern matching succeeded */
881 #line 6557 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
882  tmpMeta[1] = mmc_mk_box3(25, &DAE_Element_INITIAL__TERMINATE__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 3))));
883 #line 6557 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
884  tmpMeta[0] = tmpMeta[1];
885 #line 885 OMC_FILE
886  goto tmp2_done;
887  }
888  case 27: {
889 
890  /* Pattern matching succeeded */
891 #line 6558 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
892  tmpMeta[1] = mmc_mk_box3(28, &DAE_Element_INITIAL__NORETCALL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_elt), 3))));
893 #line 6558 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
894  tmpMeta[0] = tmpMeta[1];
895 #line 895 OMC_FILE
896  goto tmp2_done;
897  }
898  default:
899  tmp2_default: OMC_LABEL_UNUSED; {
900 
901  /* Pattern matching succeeded */
902 #line 6559 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
903  tmpMeta[0] = _elt;
904 #line 904 OMC_FILE
905  goto tmp2_done;
906  }
907  }
908  goto tmp2_end;
909  tmp2_end: ;
910  }
911  goto goto_1;
912  goto_1:;
913  MMC_THROW_INTERNAL();
914  goto tmp2_done;
915  tmp2_done:;
916  }
917  }
918  _elt = tmpMeta[0];
919  _return: OMC_LABEL_UNUSED
920  return _elt;
921 }
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIAL__ASSERT__desc
Definition: DAE_records.c:1180
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIAL__TERMINATE__desc
Definition: DAE_records.c:1206
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIAL__IF__EQUATION__desc
Definition: DAE_records.c:1089
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIAL__ARRAY__EQUATION__desc
Definition: DAE_records.c:998
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIAL__COMPLEX__EQUATION__desc
Definition: DAE_records.c:1037
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIALALGORITHM__desc
Definition: DAE_records.c:1128
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIALEQUATION__desc
Definition: DAE_records.c:1102
void * modelica_metatype
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIALDEFINE__desc
Definition: DAE_records.c:946
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIAL__NORETCALL__desc
Definition: DAE_records.c:1245
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_nameInnerouterUniqueCref()

DLLExport modelica_metatype omc_DAEUtil_nameInnerouterUniqueCref ( threadData_t threadData,
modelica_metatype  _inCr 
)

Definition at line 24101 of file DAEUtil.c.

24102 {
24103  modelica_metatype _outCr = NULL;
24104  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
24105  MMC_SO();
24106  _tailrecursive: OMC_LABEL_UNUSED
24107 #line 24107 OMC_FILE
24108  { /* match expression */
24109  modelica_metatype tmp3_1;
24110  tmp3_1 = _inCr;
24111  {
24112  modelica_metatype _newChild = NULL;
24113  modelica_metatype _child = NULL;
24114  modelica_string _id = NULL;
24115  modelica_metatype _idt = NULL;
24116  modelica_metatype _subs = NULL;
24117  volatile mmc_switch_type tmp3;
24118  int tmp4;
24119  tmp3 = 0;
24120  for (; tmp3 < 2; tmp3++) {
24121  switch (MMC_SWITCH_CAST(tmp3)) {
24122  case 0: {
24123  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,3) == 0) goto tmp2_end;
24124  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24125  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
24126  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
24127  _id = tmpMeta[1];
24128  _idt = tmpMeta[2];
24129  _subs = tmpMeta[3];
24130  /* Pattern matching succeeded */
24131 #line 721 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24132  tmpMeta[1] = stringAppend(_OMC_LIT88,_id);
24133 #line 721 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24134  _id = tmpMeta[1];
24135 #line 24135 OMC_FILE
24136 #line 722 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24137  tmpMeta[0] = omc_ComponentReference_makeCrefIdent(threadData, _id, _idt, _subs);
24138 #line 24138 OMC_FILE
24139  goto tmp2_done;
24140  }
24141  case 1: {
24142  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,4) == 0) goto tmp2_end;
24143  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24144  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
24145  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
24146  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
24147  _id = tmpMeta[1];
24148  _idt = tmpMeta[2];
24149  _subs = tmpMeta[3];
24150  _child = tmpMeta[4];
24151  /* Pattern matching succeeded */
24152 #line 726 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24153  _newChild = omc_DAEUtil_nameInnerouterUniqueCref(threadData, _child);
24154 #line 24154 OMC_FILE
24155 #line 727 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24156  tmpMeta[0] = omc_ComponentReference_makeCrefQual(threadData, _id, _idt, _subs, _newChild);
24157 #line 24157 OMC_FILE
24158  goto tmp2_done;
24159  }
24160  }
24161  goto tmp2_end;
24162  tmp2_end: ;
24163  }
24164  goto goto_1;
24165  goto_1:;
24166  MMC_THROW_INTERNAL();
24167  goto tmp2_done;
24168  tmp2_done:;
24169  }
24170  }
24171  _outCr = tmpMeta[0];
24172  _return: OMC_LABEL_UNUSED
24173  return _outCr;
24174 }
modelica_metatype modelica_string
float mmc_switch_type
DLLExport modelica_metatype omc_ComponentReference_makeCrefIdent(threadData_t *threadData, modelica_string _ident, modelica_metatype _identType, modelica_metatype _subscriptLst)
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport modelica_metatype omc_ComponentReference_makeCrefQual(threadData_t *threadData, modelica_string _ident, modelica_metatype _identType, modelica_metatype _subscriptLst, modelica_metatype _componentRef)
void * modelica_metatype
DLLExport modelica_metatype omc_DAEUtil_nameInnerouterUniqueCref(threadData_t *threadData, modelica_metatype _inCr)
Definition: DAEUtil.c:24101
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_nameUniqueOuterVars()

DLLExport modelica_metatype omc_DAEUtil_nameUniqueOuterVars ( threadData_t threadData,
modelica_metatype  _dae 
)

Definition at line 11958 of file DAEUtil.c.

11959 {
11960  modelica_metatype _odae = NULL;
11961  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
11962  MMC_SO();
11963  _tailrecursive: OMC_LABEL_UNUSED
11964 #line 3699 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11965  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
11966 #line 3699 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11967  tmpMeta[1] = mmc_mk_box2(0, boxvar_DAEUtil_addUniqueIdentifierToCref, tmpMeta[0]);
11968 #line 3699 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11969  _odae = omc_DAEUtil_traverseDAE(threadData, _dae, _OMC_LIT87, boxvar_Expression_traverseSubexpressionsHelper, tmpMeta[1], NULL, NULL);
11970 #line 11970 OMC_FILE
11971  _return: OMC_LABEL_UNUSED
11972  return _odae;
11973 }
DLLExport modelica_metatype omc_DAEUtil_traverseDAE(threadData_t *threadData, modelica_metatype _ $in_dae, modelica_metatype _ $in_functionTree, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_functionTree, modelica_metatype *out_arg)
Definition: DAEUtil.c:11338
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_potentialBool()

DLLExport modelica_boolean omc_DAEUtil_potentialBool ( threadData_t threadData,
modelica_metatype  _inConnectorType 
)

Definition at line 1276 of file DAEUtil.c.

1277 {
1278  modelica_boolean _outPotential;
1279  modelica_boolean tmp1 = 0;
1280  MMC_SO();
1281  _tailrecursive: OMC_LABEL_UNUSED
1282 #line 1282 OMC_FILE
1283  { /* match expression */
1284  modelica_metatype tmp4_1;
1285  tmp4_1 = _inConnectorType;
1286  {
1287  volatile mmc_switch_type tmp4;
1288  int tmp5;
1289  tmp4 = 0;
1290  for (; tmp4 < 2; tmp4++) {
1291  switch (MMC_SWITCH_CAST(tmp4)) {
1292  case 0: {
1293  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0) == 0) goto tmp3_end;
1294  /* Pattern matching succeeded */
1295 #line 6458 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1296  tmp1 = 1;
1297 #line 1297 OMC_FILE
1298  goto tmp3_done;
1299  }
1300  case 1: {
1301 
1302  /* Pattern matching succeeded */
1303 #line 6459 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1304  tmp1 = 0;
1305 #line 1305 OMC_FILE
1306  goto tmp3_done;
1307  }
1308  }
1309  goto tmp3_end;
1310  tmp3_end: ;
1311  }
1312  goto goto_2;
1313  goto_2:;
1314  MMC_THROW_INTERNAL();
1315  goto tmp3_done;
1316  tmp3_done:;
1317  }
1318  }
1319  _outPotential = tmp1;
1320  _return: OMC_LABEL_UNUSED
1321  return _outPotential;
1322 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_printBindingExpStr()

DLLExport modelica_string omc_DAEUtil_printBindingExpStr ( threadData_t threadData,
modelica_metatype  _binding 
)

Definition at line 4543 of file DAEUtil.c.

4544 {
4545  modelica_string _str = NULL;
4546  modelica_string tmp1 = 0;
4547  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
4548  MMC_SO();
4549  _tailrecursive: OMC_LABEL_UNUSED
4550 #line 4550 OMC_FILE
4551  { /* match expression */
4552  modelica_metatype tmp4_1;
4553  tmp4_1 = _binding;
4554  {
4555  modelica_metatype _e = NULL;
4556  modelica_metatype _v = NULL;
4557  int tmp4;
4558  {
4559  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
4560  case 3: {
4561 
4562  /* Pattern matching succeeded */
4563 #line 5519 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4564  tmp1 = _OMC_LIT7;
4565 #line 4565 OMC_FILE
4566  goto tmp3_done;
4567  }
4568  case 4: {
4569  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,4) == 0) goto tmp3_end;
4570  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
4571 
4572  _e = tmpMeta[0];
4573  /* Pattern matching succeeded */
4574 #line 5522 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4575  tmp1 = omc_ExpressionDump_printExpStr(threadData, _e);
4576 #line 4576 OMC_FILE
4577  goto tmp3_done;
4578  }
4579  case 5: {
4580  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,2) == 0) goto tmp3_end;
4581  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
4582 
4583  _v = tmpMeta[0];
4584  /* Pattern matching succeeded */
4585 #line 5527 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4586  tmpMeta[0] = stringAppend(_OMC_LIT34,omc_ValuesUtil_valString(threadData, _v));
4587 #line 5527 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4588  tmp1 = tmpMeta[0];
4589 #line 4589 OMC_FILE
4590  goto tmp3_done;
4591  }
4592  }
4593  goto tmp3_end;
4594  tmp3_end: ;
4595  }
4596  goto goto_2;
4597  goto_2:;
4598  MMC_THROW_INTERNAL();
4599  goto tmp3_done;
4600  tmp3_done:;
4601  }
4602  }
4603  _str = tmp1;
4604  _return: OMC_LABEL_UNUSED
4605  return _str;
4606 }
modelica_metatype modelica_string
modelica_string stringAppend(modelica_string s1, modelica_string s2)
void * modelica_metatype
DLLExport modelica_string omc_ExpressionDump_printExpStr(threadData_t *threadData, modelica_metatype _e)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_string omc_ValuesUtil_valString(threadData_t *threadData, modelica_metatype _inValue)
Definition: ValuesUtil.c:2875

◆ omc_DAEUtil_printBindingSourceStr()

DLLExport modelica_string omc_DAEUtil_printBindingSourceStr ( threadData_t threadData,
modelica_metatype  _bindingSource 
)

Definition at line 4494 of file DAEUtil.c.

4495 {
4496  modelica_string _str = NULL;
4497  modelica_string tmp1 = 0;
4498  MMC_SO();
4499  _tailrecursive: OMC_LABEL_UNUSED
4500 #line 4500 OMC_FILE
4501  { /* match expression */
4502  modelica_metatype tmp4_1;
4503  tmp4_1 = _bindingSource;
4504  {
4505  volatile mmc_switch_type tmp4;
4506  int tmp5;
4507  tmp4 = 0;
4508  for (; tmp4 < 2; tmp4++) {
4509  switch (MMC_SWITCH_CAST(tmp4)) {
4510  case 0: {
4511  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0) == 0) goto tmp3_end;
4512  /* Pattern matching succeeded */
4513 #line 5539 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4514  tmp1 = _OMC_LIT32;
4515 #line 4515 OMC_FILE
4516  goto tmp3_done;
4517  }
4518  case 1: {
4519  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,0) == 0) goto tmp3_end;
4520  /* Pattern matching succeeded */
4521 #line 5540 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4522  tmp1 = _OMC_LIT33;
4523 #line 4523 OMC_FILE
4524  goto tmp3_done;
4525  }
4526  }
4527  goto tmp3_end;
4528  tmp3_end: ;
4529  }
4530  goto goto_2;
4531  goto_2:;
4532  MMC_THROW_INTERNAL();
4533  goto tmp3_done;
4534  tmp3_done:;
4535  }
4536  }
4537  _str = tmp1;
4538  _return: OMC_LABEL_UNUSED
4539  return _str;
4540 }
modelica_metatype modelica_string
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_removeInnerAttr()

DLLExport modelica_metatype omc_DAEUtil_removeInnerAttr ( threadData_t threadData,
modelica_metatype  _var,
modelica_metatype  _dae 
)

Definition at line 24216 of file DAEUtil.c.

24217 {
24218  modelica_metatype _outDae = NULL;
24219  modelica_metatype tmpMeta[17] __attribute__((unused)) = {0};
24220  MMC_SO();
24221  _tailrecursive: OMC_LABEL_UNUSED
24222 #line 24222 OMC_FILE
24223  { /* match expression */
24224  modelica_metatype tmp3_1;
24225  tmp3_1 = _dae;
24226  {
24227  modelica_metatype _cr = NULL;
24228  modelica_metatype _oldVar = NULL;
24229  modelica_metatype _newVar = NULL;
24230  modelica_metatype _elist = NULL;
24231  modelica_metatype _elist2 = NULL;
24232  modelica_metatype _e = NULL;
24233  modelica_metatype _u = NULL;
24234  modelica_metatype _o = NULL;
24235  modelica_string _id = NULL;
24236  modelica_metatype _kind = NULL;
24237  modelica_metatype _prl = NULL;
24238  modelica_metatype _dir = NULL;
24239  modelica_metatype _tp = NULL;
24240  modelica_metatype _bind = NULL;
24241  modelica_metatype _dim = NULL;
24242  modelica_metatype _ct = NULL;
24243  modelica_metatype _attr = NULL;
24244  modelica_metatype _cmt = NULL;
24245  modelica_metatype _io = NULL;
24246  modelica_metatype _io2 = NULL;
24247  modelica_metatype _prot = NULL;
24248  modelica_metatype _source = NULL;
24249  volatile mmc_switch_type tmp3;
24250  int tmp4;
24251  tmp3 = 0;
24252  for (; tmp3 < 5; tmp3++) {
24253  switch (MMC_SWITCH_CAST(tmp3)) {
24254  case 0: {
24255  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24256  if (!listEmpty(tmpMeta[1])) goto tmp2_end;
24257  /* Pattern matching succeeded */
24258 #line 654 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24259  tmpMeta[0] = _OMC_LIT158;
24260 #line 24260 OMC_FILE
24261  goto tmp2_done;
24262  }
24263  case 1: {
24264  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24265  if (listEmpty(tmpMeta[1])) goto tmp2_end;
24266  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
24267  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
24268  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,13) == 0) goto tmp2_end;
24269  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
24270  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
24271  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
24272  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
24273  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 6));
24274  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 7));
24275  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 8));
24276  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 9));
24277  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 10));
24278  tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 11));
24279  tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 12));
24280  tmpMeta[15] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 13));
24281  tmpMeta[16] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 14));
24282  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[16],2,0) == 0) goto tmp2_end;
24283  _oldVar = tmpMeta[4];
24284  _kind = tmpMeta[5];
24285  _dir = tmpMeta[6];
24286  _prl = tmpMeta[7];
24287  _prot = tmpMeta[8];
24288  _tp = tmpMeta[9];
24289  _bind = tmpMeta[10];
24290  _dim = tmpMeta[11];
24291  _ct = tmpMeta[12];
24292  _source = tmpMeta[13];
24293  _attr = tmpMeta[14];
24294  _cmt = tmpMeta[15];
24295  _elist = tmpMeta[3];
24296  /* Pattern matching succeeded */
24297  /* Check guard condition after assignments */
24298  if (!omc_DAEUtil_compareUniquedVarWithNonUnique(threadData, _var, _oldVar)) goto tmp2_end;
24299 #line 663 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24300  _newVar = omc_DAEUtil_nameInnerouterUniqueCref(threadData, _oldVar);
24301 #line 24301 OMC_FILE
24302 
24303 #line 664 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24304  tmpMeta[1] = mmc_mk_box14(3, &DAE_Element_VAR__desc, _oldVar, _kind, _dir, _prl, _prot, _tp, mmc_mk_none(), _dim, _ct, _source, _attr, _cmt, _OMC_LIT155);
24305 #line 664 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24306  _o = tmpMeta[1];
24307 #line 24307 OMC_FILE
24308 
24309 #line 665 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24310  tmpMeta[1] = mmc_mk_box14(3, &DAE_Element_VAR__desc, _newVar, _kind, _dir, _prl, _prot, _tp, _bind, _dim, _ct, _source, _attr, _cmt, _OMC_LIT21);
24311 #line 665 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24312  _u = tmpMeta[1];
24313 #line 24313 OMC_FILE
24314 
24315 #line 666 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24316  tmpMeta[2] = mmc_mk_cons(_o, _elist);
24317 #line 666 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24318  tmpMeta[1] = mmc_mk_cons(_u, tmpMeta[2]);
24319 #line 666 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24320  _elist = tmpMeta[1];
24321 #line 24321 OMC_FILE
24322 #line 667 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24323  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _elist);
24324 #line 667 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24325  tmpMeta[0] = tmpMeta[1];
24326 #line 24326 OMC_FILE
24327  goto tmp2_done;
24328  }
24329  case 2: {
24330  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24331  if (listEmpty(tmpMeta[1])) goto tmp2_end;
24332  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
24333  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
24334  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,13) == 0) goto tmp2_end;
24335  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
24336  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
24337  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
24338  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
24339  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 6));
24340  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 7));
24341  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 8));
24342  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 9));
24343  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 10));
24344  tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 11));
24345  tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 12));
24346  tmpMeta[15] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 13));
24347  tmpMeta[16] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 14));
24348  _cr = tmpMeta[4];
24349  _kind = tmpMeta[5];
24350  _dir = tmpMeta[6];
24351  _prl = tmpMeta[7];
24352  _prot = tmpMeta[8];
24353  _tp = tmpMeta[9];
24354  _bind = tmpMeta[10];
24355  _dim = tmpMeta[11];
24356  _ct = tmpMeta[12];
24357  _source = tmpMeta[13];
24358  _attr = tmpMeta[14];
24359  _cmt = tmpMeta[15];
24360  _io = tmpMeta[16];
24361  _elist = tmpMeta[3];
24362  /* Pattern matching succeeded */
24363  /* Check guard condition after assignments */
24364  if (!omc_ComponentReference_crefEqualNoStringCompare(threadData, _var, _cr)) goto tmp2_end;
24365 #line 674 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24366  _io2 = omc_DAEUtil_removeInnerAttribute(threadData, _io);
24367 #line 24367 OMC_FILE
24368 #line 675 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24369  tmpMeta[2] = mmc_mk_box14(3, &DAE_Element_VAR__desc, _cr, _kind, _dir, _prl, _prot, _tp, _bind, _dim, _ct, _source, _attr, _cmt, _io2);
24370 #line 675 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24371  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elist);
24372 #line 675 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24373  tmpMeta[3] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, tmpMeta[1]);
24374 #line 675 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24375  tmpMeta[0] = tmpMeta[3];
24376 #line 24376 OMC_FILE
24377  goto tmp2_done;
24378  }
24379  case 3: {
24380  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24381  if (listEmpty(tmpMeta[1])) goto tmp2_end;
24382  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
24383  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
24384  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],17,4) == 0) goto tmp2_end;
24385  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
24386  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
24387  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
24388  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
24389  _id = tmpMeta[4];
24390  _elist = tmpMeta[5];
24391  _source = tmpMeta[6];
24392  _cmt = tmpMeta[7];
24393  _elist2 = tmpMeta[3];
24394  /* Pattern matching succeeded */
24395 #line 680 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24396  /* Pattern-matching assignment */
24397 #line 680 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24398  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _elist);
24399 #line 680 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24400  tmpMeta[2] = omc_DAEUtil_removeInnerAttr(threadData, _var, tmpMeta[1]);
24401 #line 680 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24402  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
24403 #line 680 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24404  _elist = tmpMeta[3];
24405 #line 24405 OMC_FILE
24406 
24407 #line 681 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24408  /* Pattern-matching assignment */
24409 #line 681 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24410  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _elist2);
24411 #line 681 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24412  tmpMeta[2] = omc_DAEUtil_removeInnerAttr(threadData, _var, tmpMeta[1]);
24413 #line 681 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24414  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
24415 #line 681 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24416  _elist2 = tmpMeta[3];
24417 #line 24417 OMC_FILE
24418 #line 682 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24419  tmpMeta[2] = mmc_mk_box5(20, &DAE_Element_COMP__desc, _id, _elist, _source, _cmt);
24420 #line 682 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24421  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elist2);
24422 #line 682 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24423  tmpMeta[3] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, tmpMeta[1]);
24424 #line 682 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24425  tmpMeta[0] = tmpMeta[3];
24426 #line 24426 OMC_FILE
24427  goto tmp2_done;
24428  }
24429  case 4: {
24430  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24431  if (listEmpty(tmpMeta[1])) goto tmp2_end;
24432  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
24433  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
24434  _e = tmpMeta[2];
24435  _elist = tmpMeta[3];
24436  /* Pattern matching succeeded */
24437 #line 686 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24438  /* Pattern-matching assignment */
24439 #line 686 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24440  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _elist);
24441 #line 686 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24442  tmpMeta[2] = omc_DAEUtil_removeInnerAttr(threadData, _var, tmpMeta[1]);
24443 #line 686 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24444  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
24445 #line 686 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24446  _elist = tmpMeta[3];
24447 #line 24447 OMC_FILE
24448 #line 687 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24449  tmpMeta[1] = mmc_mk_cons(_e, _elist);
24450 #line 687 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24451  tmpMeta[2] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, tmpMeta[1]);
24452 #line 687 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24453  tmpMeta[0] = tmpMeta[2];
24454 #line 24454 OMC_FILE
24455  goto tmp2_done;
24456  }
24457  }
24458  goto tmp2_end;
24459  tmp2_end: ;
24460  }
24461  goto goto_1;
24462  goto_1:;
24463  MMC_THROW_INTERNAL();
24464  goto tmp2_done;
24465  tmp2_done:;
24466  }
24467  }
24468  _outDae = tmpMeta[0];
24469  _return: OMC_LABEL_UNUSED
24470  return _outDae;
24471 }
modelica_metatype modelica_string
float mmc_switch_type
DLLExport modelica_boolean omc_ComponentReference_crefEqualNoStringCompare(threadData_t *threadData, modelica_metatype _inCref1, modelica_metatype _inCref2)
struct record_description DAE_Element_VAR__desc
Definition: DAE_records.c:927
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_COMP__desc
Definition: DAE_records.c:1141
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_removeInnerAttribute(threadData_t *threadData, modelica_metatype _io)
Definition: DAEUtil.c:23930
void * modelica_metatype
DLLExport modelica_metatype omc_DAEUtil_removeInnerAttr(threadData_t *threadData, modelica_metatype _var, modelica_metatype _dae)
Definition: DAEUtil.c:24216
DLLExport modelica_metatype omc_DAEUtil_nameInnerouterUniqueCref(threadData_t *threadData, modelica_metatype _inCr)
Definition: DAEUtil.c:24101
PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_compareUniquedVarWithNonUnique(threadData_t *threadData, modelica_metatype _cr1, modelica_metatype _cr2)
Definition: DAEUtil.c:24176
struct record_description DAE_DAElist_DAE__desc
Definition: DAE_records.c:2591
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_removeInnerAttribute()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_removeInnerAttribute ( threadData_t threadData,
modelica_metatype  _io 
)

Definition at line 23930 of file DAEUtil.c.

23931 {
23932  modelica_metatype _ioOut = NULL;
23933  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
23934  MMC_SO();
23935  _tailrecursive: OMC_LABEL_UNUSED
23936 #line 23936 OMC_FILE
23937  { /* match expression */
23938  modelica_metatype tmp3_1;
23939  tmp3_1 = _io;
23940  {
23941  int tmp3;
23942  {
23943  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
23944  case 3: {
23945 
23946  /* Pattern matching succeeded */
23947 #line 770 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23948  tmpMeta[0] = _OMC_LIT21;
23949 #line 23949 OMC_FILE
23950  goto tmp2_done;
23951  }
23952  case 5: {
23953 
23954  /* Pattern matching succeeded */
23955 #line 771 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23956  tmpMeta[0] = _OMC_LIT155;
23957 #line 23957 OMC_FILE
23958  goto tmp2_done;
23959  }
23960  default:
23961  tmp2_default: OMC_LABEL_UNUSED; {
23962 
23963  /* Pattern matching succeeded */
23964 #line 772 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23965  tmpMeta[0] = _io;
23966 #line 23966 OMC_FILE
23967  goto tmp2_done;
23968  }
23969  }
23970  goto tmp2_end;
23971  tmp2_end: ;
23972  }
23973  goto goto_1;
23974  goto_1:;
23975  MMC_THROW_INTERNAL();
23976  goto tmp2_done;
23977  tmp2_done:;
23978  }
23979  }
23980  _ioOut = tmpMeta[0];
23981  _return: OMC_LABEL_UNUSED
23982  return _ioOut;
23983 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_removeInnerAttrs()

DLLExport modelica_metatype omc_DAEUtil_removeInnerAttrs ( threadData_t threadData,
modelica_metatype  _dae,
modelica_metatype  _vars 
)

Definition at line 24474 of file DAEUtil.c.

24475 {
24476  modelica_metatype _outDae = NULL;
24477  MMC_SO();
24478  _tailrecursive: OMC_LABEL_UNUSED
24479 #line 632 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24480  _outDae = omc_List_fold(threadData, _vars, boxvar_DAEUtil_removeInnerAttr, _dae);
24481 #line 24481 OMC_FILE
24482  _return: OMC_LABEL_UNUSED
24483  return _outDae;
24484 }
void * modelica_metatype
DLLExport modelica_metatype omc_List_fold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFoldFunc, modelica_metatype _inStartValue)
Definition: List.c:9662
Here is the call graph for this function:

◆ omc_DAEUtil_removeUniqieIdentifierFromCref()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_removeUniqieIdentifierFromCref ( threadData_t threadData,
modelica_metatype  _inExp,
modelica_metatype  _oarg,
modelica_metatype out_outDummy 
)

Definition at line 11975 of file DAEUtil.c.

11976 {
11977  modelica_metatype _outExp = NULL;
11978  modelica_metatype _outDummy = NULL;
11979  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
11980  MMC_SO();
11981  _tailrecursive: OMC_LABEL_UNUSED
11982 #line 3676 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11983 
11984 #line 3676 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11985 
11986 #line 11986 OMC_FILE
11987  { /* matchcontinue expression */
11988  volatile modelica_metatype tmp4_1;
11989  tmp4_1 = _inExp;
11990  {
11991  modelica_metatype _cr = NULL;
11992  modelica_metatype _cr2 = NULL;
11993  modelica_metatype _ty = NULL;
11994  modelica_metatype _exp = NULL;
11995  volatile mmc_switch_type tmp4;
11996  int tmp5;
11997  tmp4 = 0;
11998  MMC_TRY_INTERNAL(mmc_jumper)
11999  tmp3_top:
12000  threadData->mmc_jumper = &new_mmc_jumper;
12001  for (; tmp4 < 2; tmp4++) {
12002  switch (MMC_SWITCH_CAST(tmp4)) {
12003  case 0: {
12004  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2) == 0) goto tmp3_end;
12005  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
12006  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
12007  _cr = tmpMeta[2];
12008  _ty = tmpMeta[3];
12009  /* Pattern matching succeeded */
12010 #line 3684 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12011  _cr2 = omc_DAEUtil_unNameInnerouterUniqueCref(threadData, _cr, _OMC_LIT88);
12012 #line 12012 OMC_FILE
12013 
12014 #line 3685 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12015  _exp = omc_Expression_makeCrefExp(threadData, _cr2, _ty);
12016 #line 12016 OMC_FILE
12017 #line 3686 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12018  tmpMeta[0+0] = _exp;
12019 #line 3686 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12020  tmpMeta[0+1] = _oarg;
12021 #line 12021 OMC_FILE
12022  goto tmp3_done;
12023  }
12024  case 1: {
12025 
12026  /* Pattern matching succeeded */
12027 #line 3688 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12028  tmpMeta[0+0] = _inExp;
12029 #line 3688 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12030  tmpMeta[0+1] = _oarg;
12031 #line 12031 OMC_FILE
12032  goto tmp3_done;
12033  }
12034  }
12035  goto tmp3_end;
12036  tmp3_end: ;
12037  }
12038  goto goto_2;
12039  tmp3_done:
12040  (void)tmp4;
12041  MMC_RESTORE_INTERNAL(mmc_jumper);
12042  goto tmp3_done2;
12043  goto_2:;
12044  MMC_CATCH_INTERNAL(mmc_jumper);
12045  if (++tmp4 < 2) {
12046  goto tmp3_top;
12047  }
12048  MMC_THROW_INTERNAL();
12049  tmp3_done2:;
12050  }
12051  }
12052  _outExp = tmpMeta[0+0];
12053  _outDummy = tmpMeta[0+1];
12054  _return: OMC_LABEL_UNUSED
12055  if (out_outDummy) { *out_outDummy = _outDummy; }
12056  return _outExp;
12057 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
DLLExport modelica_metatype omc_Expression_makeCrefExp(threadData_t *threadData, modelica_metatype _inCref, modelica_metatype _inExpType)
Definition: Expression.c:41428
float mmc_switch_type
DLLExport modelica_metatype omc_DAEUtil_unNameInnerouterUniqueCref(threadData_t *threadData, modelica_metatype _cr, modelica_string _removalString)
Definition: DAEUtil.c:23986
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:

◆ omc_DAEUtil_removeVariable()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_removeVariable ( threadData_t threadData,
modelica_metatype  _var,
modelica_metatype  _dae 
)

Definition at line 24486 of file DAEUtil.c.

24487 {
24488  modelica_metatype _outDae = NULL;
24489  modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
24490  MMC_SO();
24491  _tailrecursive: OMC_LABEL_UNUSED
24492 #line 24492 OMC_FILE
24493  { /* matchcontinue expression */
24494  volatile modelica_metatype tmp3_1;
24495  tmp3_1 = _dae;
24496  {
24497  modelica_metatype _cr = NULL;
24498  modelica_metatype _elist = NULL;
24499  modelica_metatype _elist2 = NULL;
24500  modelica_metatype _e = NULL;
24501  modelica_string _id = NULL;
24502  modelica_metatype _source = NULL;
24503  modelica_metatype _cmt = NULL;
24504  volatile mmc_switch_type tmp3;
24505  int tmp4;
24506  tmp3 = 0;
24507  MMC_TRY_INTERNAL(mmc_jumper)
24508  tmp2_top:
24509  threadData->mmc_jumper = &new_mmc_jumper;
24510  for (; tmp3 < 4; tmp3++) {
24511  switch (MMC_SWITCH_CAST(tmp3)) {
24512  case 0: {
24513  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24514  if (!listEmpty(tmpMeta[1])) goto tmp2_end;
24515  tmp3 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
24516 #line 607 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24517  tmpMeta[0] = _OMC_LIT158;
24518 #line 24518 OMC_FILE
24519  goto tmp2_done;
24520  }
24521  case 1: {
24522  modelica_boolean tmp5;
24523  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24524  if (listEmpty(tmpMeta[1])) goto tmp2_end;
24525  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
24526  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
24527  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,13) == 0) goto tmp2_end;
24528  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
24529 
24530  _cr = tmpMeta[4];
24531  _elist = tmpMeta[3];
24532  tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
24533 #line 611 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24534  /* Pattern-matching assignment */
24535 #line 611 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24536  tmp5 = omc_ComponentReference_crefEqualNoStringCompare(threadData, _var, _cr);
24537 #line 611 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24538  if (1 != tmp5) goto goto_1;
24539 #line 24539 OMC_FILE
24540 #line 612 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24541  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _elist);
24542 #line 612 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24543  tmpMeta[0] = tmpMeta[1];
24544 #line 24544 OMC_FILE
24545  goto tmp2_done;
24546  }
24547  case 2: {
24548  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24549  if (listEmpty(tmpMeta[1])) goto tmp2_end;
24550  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
24551  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
24552  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],17,4) == 0) goto tmp2_end;
24553  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
24554  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
24555  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
24556  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
24557  _id = tmpMeta[4];
24558  _elist = tmpMeta[5];
24559  _source = tmpMeta[6];
24560  _cmt = tmpMeta[7];
24561  _elist2 = tmpMeta[3];
24562  /* Pattern matching succeeded */
24563 #line 616 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24564  /* Pattern-matching assignment */
24565 #line 616 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24566  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _elist);
24567 #line 616 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24568  tmpMeta[2] = omc_DAEUtil_removeVariable(threadData, _var, tmpMeta[1]);
24569 #line 616 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24570  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
24571 #line 616 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24572  _elist = tmpMeta[3];
24573 #line 24573 OMC_FILE
24574 
24575 #line 617 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24576  /* Pattern-matching assignment */
24577 #line 617 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24578  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _elist2);
24579 #line 617 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24580  tmpMeta[2] = omc_DAEUtil_removeVariable(threadData, _var, tmpMeta[1]);
24581 #line 617 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24582  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
24583 #line 617 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24584  _elist2 = tmpMeta[3];
24585 #line 24585 OMC_FILE
24586 #line 618 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24587  tmpMeta[2] = mmc_mk_box5(20, &DAE_Element_COMP__desc, _id, _elist, _source, _cmt);
24588 #line 618 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24589  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elist2);
24590 #line 618 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24591  tmpMeta[3] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, tmpMeta[1]);
24592 #line 618 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24593  tmpMeta[0] = tmpMeta[3];
24594 #line 24594 OMC_FILE
24595  goto tmp2_done;
24596  }
24597  case 3: {
24598  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24599  if (listEmpty(tmpMeta[1])) goto tmp2_end;
24600  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
24601  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
24602  _e = tmpMeta[2];
24603  _elist = tmpMeta[3];
24604  /* Pattern matching succeeded */
24605 #line 622 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24606  /* Pattern-matching assignment */
24607 #line 622 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24608  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _elist);
24609 #line 622 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24610  tmpMeta[2] = omc_DAEUtil_removeVariable(threadData, _var, tmpMeta[1]);
24611 #line 622 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24612  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
24613 #line 622 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24614  _elist = tmpMeta[3];
24615 #line 24615 OMC_FILE
24616 #line 623 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24617  tmpMeta[1] = mmc_mk_cons(_e, _elist);
24618 #line 623 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24619  tmpMeta[2] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, tmpMeta[1]);
24620 #line 623 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24621  tmpMeta[0] = tmpMeta[2];
24622 #line 24622 OMC_FILE
24623  goto tmp2_done;
24624  }
24625  }
24626  goto tmp2_end;
24627  tmp2_end: ;
24628  }
24629  goto goto_1;
24630  tmp2_done:
24631  (void)tmp3;
24632  MMC_RESTORE_INTERNAL(mmc_jumper);
24633  goto tmp2_done2;
24634  goto_1:;
24635  MMC_CATCH_INTERNAL(mmc_jumper);
24636  if (++tmp3 < 4) {
24637  goto tmp2_top;
24638  }
24639  MMC_THROW_INTERNAL();
24640  tmp2_done2:;
24641  }
24642  }
24643  _outDae = tmpMeta[0];
24644  _return: OMC_LABEL_UNUSED
24645  return _outDae;
24646 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
modelica_metatype modelica_string
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_boolean omc_ComponentReference_crefEqualNoStringCompare(threadData_t *threadData, modelica_metatype _inCref1, modelica_metatype _inCref2)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_removeVariable(threadData_t *threadData, modelica_metatype _var, modelica_metatype _dae)
Definition: DAEUtil.c:24486
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_COMP__desc
Definition: DAE_records.c:1141
void * modelica_metatype
struct record_description DAE_DAElist_DAE__desc
Definition: DAE_records.c:2591
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:

◆ omc_DAEUtil_removeVariables()

DLLExport modelica_metatype omc_DAEUtil_removeVariables ( threadData_t threadData,
modelica_metatype  _dae,
modelica_metatype  _vars 
)

Definition at line 24774 of file DAEUtil.c.

24775 {
24776  modelica_metatype _outDae = NULL;
24777  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
24778  MMC_SO();
24779  _tailrecursive: OMC_LABEL_UNUSED
24780 #line 24780 OMC_FILE
24781  { /* match expression */
24782  modelica_metatype tmp3_1;modelica_metatype tmp3_2;
24783  tmp3_1 = _dae;
24784  tmp3_2 = _vars;
24785  {
24786  modelica_metatype _elements = NULL;
24787  volatile mmc_switch_type tmp3;
24788  int tmp4;
24789  tmp3 = 0;
24790  for (; tmp3 < 2; tmp3++) {
24791  switch (MMC_SWITCH_CAST(tmp3)) {
24792  case 0: {
24793  if (!listEmpty(tmp3_2)) goto tmp2_end;
24794 
24795  /* Pattern matching succeeded */
24796 #line 536 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24797  tmpMeta[0] = _dae;
24798 #line 24798 OMC_FILE
24799  goto tmp2_done;
24800  }
24801  case 1: {
24802  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24803 
24804  _elements = tmpMeta[1];
24805  /* Pattern matching succeeded */
24806 #line 540 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24807  _elements = omc_DAEUtil_removeVariablesFromElements(threadData, _elements, _vars);
24808 #line 24808 OMC_FILE
24809 #line 541 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24810  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _elements);
24811 #line 541 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24812  tmpMeta[0] = tmpMeta[1];
24813 #line 24813 OMC_FILE
24814  goto tmp2_done;
24815  }
24816  }
24817  goto tmp2_end;
24818  tmp2_end: ;
24819  }
24820  goto goto_1;
24821  goto_1:;
24822  MMC_THROW_INTERNAL();
24823  goto tmp2_done;
24824  tmp2_done:;
24825  }
24826  }
24827  _outDae = tmpMeta[0];
24828  _return: OMC_LABEL_UNUSED
24829  return _outDae;
24830 }
float mmc_switch_type
void * modelica_metatype
struct record_description DAE_DAElist_DAE__desc
Definition: DAE_records.c:2591
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_removeVariablesFromElements(threadData_t *threadData, modelica_metatype _inElements, modelica_metatype _variableNames)
Definition: DAEUtil.c:24648
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_removeVariablesFromElements()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_removeVariablesFromElements ( threadData_t threadData,
modelica_metatype  _inElements,
modelica_metatype  _variableNames 
)

Definition at line 24648 of file DAEUtil.c.

24649 {
24650  modelica_metatype _outElements = NULL;
24651  modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
24652  MMC_SO();
24653  _tailrecursive: OMC_LABEL_UNUSED
24654  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
24655  _outElements = tmpMeta[0];
24656 #line 554 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24657  if(listEmpty(_variableNames))
24658 #line 554 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24659  {
24660 #line 555 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24661  _outElements = _inElements;
24662 #line 24662 OMC_FILE
24663 
24664 #line 556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24665  goto _return;
24666 #line 24666 OMC_FILE
24667  }
24668 
24669 #line 558 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24670  {
24671 #line 558 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24672  modelica_metatype _el;
24673 #line 558 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24674  for (tmpMeta[1] = _inElements; !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
24675 #line 558 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24676  {
24677 #line 558 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24678  _el = MMC_CAR(tmpMeta[1]);
24679 #line 24679 OMC_FILE
24680  { /* match expression */
24681  modelica_metatype tmp3_1;
24682  tmp3_1 = _el;
24683  {
24684  modelica_metatype _cr = NULL;
24685  modelica_metatype _elist = NULL;
24686  modelica_metatype _v = NULL;
24687  modelica_string _id = NULL;
24688  modelica_metatype _source = NULL;
24689  modelica_metatype _cmt = NULL;
24690  volatile mmc_switch_type tmp3;
24691  int tmp4;
24692  tmp3 = 0;
24693  for (; tmp3 < 3; tmp3++) {
24694  switch (MMC_SWITCH_CAST(tmp3)) {
24695  case 0: {
24696  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
24697  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24698 
24699  _v = tmp3_1;
24700  _cr = tmpMeta[2];
24701  /* Pattern matching succeeded */
24702 #line 572 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24703  if(listEmpty(omc_List_select1(threadData, _variableNames, boxvar_ComponentReference_crefEqual, _cr)))
24704 #line 572 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24705  {
24706 #line 573 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24707  tmpMeta[2] = mmc_mk_cons(_v, _outElements);
24708 #line 573 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24709  _outElements = tmpMeta[2];
24710 #line 24710 OMC_FILE
24711  }
24712 #line 24712 OMC_FILE
24713  goto tmp2_done;
24714  }
24715  case 1: {
24716  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,17,4) == 0) goto tmp2_end;
24717  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24718  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
24719  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
24720  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
24721  _id = tmpMeta[2];
24722  _elist = tmpMeta[3];
24723  _source = tmpMeta[4];
24724  _cmt = tmpMeta[5];
24725  /* Pattern matching succeeded */
24726 #line 580 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24727  _elist = omc_DAEUtil_removeVariablesFromElements(threadData, _elist, _variableNames);
24728 #line 24728 OMC_FILE
24729 
24730 #line 581 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24731  tmpMeta[3] = mmc_mk_box5(20, &DAE_Element_COMP__desc, _id, _elist, _source, _cmt);
24732 #line 581 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24733  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _outElements);
24734 #line 581 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24735  _outElements = tmpMeta[2];
24736 #line 24736 OMC_FILE
24737 #line 24737 OMC_FILE
24738  goto tmp2_done;
24739  }
24740  case 2: {
24741 
24742  /* Pattern matching succeeded */
24743 #line 587 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24744  tmpMeta[2] = mmc_mk_cons(_el, _outElements);
24745 #line 587 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24746  _outElements = tmpMeta[2];
24747 #line 24747 OMC_FILE
24748 #line 24748 OMC_FILE
24749  goto tmp2_done;
24750  }
24751  }
24752  goto tmp2_end;
24753  tmp2_end: ;
24754  }
24755  goto goto_1;
24756  goto_1:;
24757  MMC_THROW_INTERNAL();
24758  goto tmp2_done;
24759  tmp2_done:;
24760  }
24761  }
24762  ;
24763  }
24764  }
24765 
24766 #line 591 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24767  _outElements = listReverseInPlace(_outElements);
24768 #line 24768 OMC_FILE
24769  _return: OMC_LABEL_UNUSED
24770  return _outElements;
24771 }
modelica_metatype modelica_string
float mmc_switch_type
DLLExport modelica_metatype omc_List_select1(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFilterFunc, modelica_metatype _inArg1)
Definition: List.c:3339
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_COMP__desc
Definition: DAE_records.c:1141
void * modelica_metatype
modelica_metatype listReverseInPlace(modelica_metatype)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_removeVariablesFromElements(threadData_t *threadData, modelica_metatype _inElements, modelica_metatype _variableNames)
Definition: DAEUtil.c:24648
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_renameUniqueOuterVars()

DLLExport modelica_metatype omc_DAEUtil_renameUniqueOuterVars ( threadData_t threadData,
modelica_metatype  _dae 
)

Definition at line 12060 of file DAEUtil.c.

12061 {
12062  modelica_metatype _odae = NULL;
12063  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
12064  MMC_SO();
12065  _tailrecursive: OMC_LABEL_UNUSED
12066 #line 3666 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12067  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
12068 #line 3666 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12069  tmpMeta[1] = mmc_mk_box2(0, boxvar_DAEUtil_removeUniqieIdentifierFromCref, tmpMeta[0]);
12070 #line 3666 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
12071  _odae = omc_DAEUtil_traverseDAE(threadData, _dae, _OMC_LIT87, boxvar_Expression_traverseSubexpressionsHelper, tmpMeta[1], NULL, NULL);
12072 #line 12072 OMC_FILE
12073  _return: OMC_LABEL_UNUSED
12074  return _odae;
12075 }
DLLExport modelica_metatype omc_DAEUtil_traverseDAE(threadData_t *threadData, modelica_metatype _ $in_dae, modelica_metatype _ $in_functionTree, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_functionTree, modelica_metatype *out_arg)
Definition: DAEUtil.c:11338
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_replaceBindungInVar()

DLLExport modelica_metatype omc_DAEUtil_replaceBindungInVar ( threadData_t threadData,
modelica_metatype  _newBindung,
modelica_metatype  _inelem 
)

Definition at line 15921 of file DAEUtil.c.

15922 {
15923  modelica_metatype _outelem = NULL;
15924  modelica_metatype tmpMeta[13] __attribute__((unused)) = {0};
15925  MMC_SO();
15926  _tailrecursive: OMC_LABEL_UNUSED
15927 #line 15927 OMC_FILE
15928  { /* match expression */
15929  modelica_metatype tmp3_1;
15930  tmp3_1 = _inelem;
15931  {
15932  modelica_metatype _a1 = NULL;
15933  modelica_metatype _a2 = NULL;
15934  modelica_metatype _a3 = NULL;
15935  modelica_metatype _prl = NULL;
15936  modelica_metatype _a4 = NULL;
15937  modelica_metatype _a5 = NULL;
15938  modelica_metatype _a7 = NULL;
15939  modelica_metatype _ct = NULL;
15940  modelica_metatype _source = NULL;
15941  modelica_metatype _a11 = NULL;
15942  modelica_metatype _a12 = NULL;
15943  modelica_metatype _a13 = NULL;
15944  volatile mmc_switch_type tmp3;
15945  int tmp4;
15946  tmp3 = 0;
15947  for (; tmp3 < 1; tmp3++) {
15948  switch (MMC_SWITCH_CAST(tmp3)) {
15949  case 0: {
15950  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
15951  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
15952  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15953  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
15954  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
15955  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 6));
15956  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 7));
15957  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 9));
15958  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 10));
15959  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 11));
15960  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 12));
15961  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 13));
15962  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 14));
15963  _a1 = tmpMeta[1];
15964  _a2 = tmpMeta[2];
15965  _a3 = tmpMeta[3];
15966  _prl = tmpMeta[4];
15967  _a4 = tmpMeta[5];
15968  _a5 = tmpMeta[6];
15969  _a7 = tmpMeta[7];
15970  _ct = tmpMeta[8];
15971  _source = tmpMeta[9];
15972  _a11 = tmpMeta[10];
15973  _a12 = tmpMeta[11];
15974  _a13 = tmpMeta[12];
15975  /* Pattern matching succeeded */
15976 #line 2606 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15977  tmpMeta[1] = mmc_mk_box14(3, &DAE_Element_VAR__desc, _a1, _a2, _a3, _prl, _a4, _a5, mmc_mk_some(_newBindung), _a7, _ct, _source, _a11, _a12, _a13);
15978 #line 2606 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15979  tmpMeta[0] = tmpMeta[1];
15980 #line 15980 OMC_FILE
15981  goto tmp2_done;
15982  }
15983  }
15984  goto tmp2_end;
15985  tmp2_end: ;
15986  }
15987  goto goto_1;
15988  goto_1:;
15989  MMC_THROW_INTERNAL();
15990  goto tmp2_done;
15991  tmp2_done:;
15992  }
15993  }
15994  _outelem = tmpMeta[0];
15995  _return: OMC_LABEL_UNUSED
15996  return _outelem;
15997 }
float mmc_switch_type
struct record_description DAE_Element_VAR__desc
Definition: DAE_records.c:927
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_replaceCallAttrType()

DLLExport modelica_metatype omc_DAEUtil_replaceCallAttrType ( threadData_t threadData,
modelica_metatype  _caIn,
modelica_metatype  _typeIn 
)

Definition at line 2675 of file DAEUtil.c.

2676 {
2677  modelica_metatype _caOut = NULL;
2678  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2679  MMC_SO();
2680  _tailrecursive: OMC_LABEL_UNUSED
2681 #line 6080 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2682  _caOut = _caIn;
2683 #line 2683 OMC_FILE
2684 
2685 #line 6081 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2686  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(9));
2687 #line 6081 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2688  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_caOut), 9*sizeof(modelica_metatype));
2689 #line 6081 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2690  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _typeIn;
2691 #line 6081 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2692  _caOut = tmpMeta[0];
2693 #line 2693 OMC_FILE
2694 
2695 #line 6082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2696  if(omc_Types_isTuple(threadData, _typeIn))
2697 #line 6082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2698  {
2699 #line 6083 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2700  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(9));
2701 #line 6083 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2702  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_caOut), 9*sizeof(modelica_metatype));
2703 #line 6083 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2704  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = mmc_mk_boolean(1);
2705 #line 6083 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2706  _caOut = tmpMeta[0];
2707 #line 2707 OMC_FILE
2708  }
2709  _return: OMC_LABEL_UNUSED
2710  return _caOut;
2711 }
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
void * modelica_metatype
DLLExport modelica_boolean omc_Types_isTuple(threadData_t *threadData, modelica_metatype _tp)
Definition: Types.c:33447
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117

◆ omc_DAEUtil_replaceCompRef()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_replaceCompRef ( threadData_t threadData,
modelica_metatype  _inExp,
modelica_metatype  _replIn,
modelica_metatype out_replOut 
)

Definition at line 1479 of file DAEUtil.c.

1480 {
1481  modelica_metatype _outExp = NULL;
1482  modelica_metatype _replOut = NULL;
1483  MMC_SO();
1484  _tailrecursive: OMC_LABEL_UNUSED
1485 #line 6418 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1486  _replOut = _replIn;
1487 #line 1487 OMC_FILE
1488 
1489 #line 6419 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1490  _outExp = omc_VarTransform_replaceExp(threadData, _inExp, _replIn, mmc_mk_none(), NULL);
1491 #line 1491 OMC_FILE
1492  _return: OMC_LABEL_UNUSED
1493  if (out_replOut) { *out_replOut = _replOut; }
1494  return _outExp;
1495 }
DLLExport modelica_metatype omc_VarTransform_replaceExp(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inVariableReplacements, modelica_metatype _inFuncTypeExpExpToBooleanOption, modelica_boolean *out_replacementPerformed)
Definition: VarTransform.c:467
void * modelica_metatype
Here is the call graph for this function:

◆ omc_DAEUtil_replaceCrefandTypeInVar()

DLLExport modelica_metatype omc_DAEUtil_replaceCrefandTypeInVar ( threadData_t threadData,
modelica_metatype  _newCr,
modelica_metatype  _newType,
modelica_metatype  _inelem 
)

Definition at line 16000 of file DAEUtil.c.

16001 {
16002  modelica_metatype _outelem = NULL;
16003  modelica_metatype tmpMeta[12] __attribute__((unused)) = {0};
16004  MMC_SO();
16005  _tailrecursive: OMC_LABEL_UNUSED
16006 #line 16006 OMC_FILE
16007  { /* match expression */
16008  modelica_metatype tmp3_1;
16009  tmp3_1 = _inelem;
16010  {
16011  modelica_metatype _a2 = NULL;
16012  modelica_metatype _a3 = NULL;
16013  modelica_metatype _prl = NULL;
16014  modelica_metatype _a4 = NULL;
16015  modelica_metatype _a7 = NULL;
16016  modelica_metatype _ct = NULL;
16017  modelica_metatype _a6 = NULL;
16018  modelica_metatype _source = NULL;
16019  modelica_metatype _a11 = NULL;
16020  modelica_metatype _a12 = NULL;
16021  modelica_metatype _a13 = NULL;
16022  volatile mmc_switch_type tmp3;
16023  int tmp4;
16024  tmp3 = 0;
16025  for (; tmp3 < 1; tmp3++) {
16026  switch (MMC_SWITCH_CAST(tmp3)) {
16027  case 0: {
16028  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
16029  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
16030  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
16031  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
16032  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 6));
16033  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 8));
16034  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 9));
16035  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 10));
16036  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 11));
16037  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 12));
16038  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 13));
16039  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 14));
16040  _a2 = tmpMeta[1];
16041  _a3 = tmpMeta[2];
16042  _prl = tmpMeta[3];
16043  _a4 = tmpMeta[4];
16044  _a6 = tmpMeta[5];
16045  _a7 = tmpMeta[6];
16046  _ct = tmpMeta[7];
16047  _source = tmpMeta[8];
16048  _a11 = tmpMeta[9];
16049  _a12 = tmpMeta[10];
16050  _a13 = tmpMeta[11];
16051  /* Pattern matching succeeded */
16052 #line 2581 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16053  tmpMeta[1] = mmc_mk_box14(3, &DAE_Element_VAR__desc, _newCr, _a2, _a3, _prl, _a4, _newType, _a6, _a7, _ct, _source, _a11, _a12, _a13);
16054 #line 2581 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16055  tmpMeta[0] = tmpMeta[1];
16056 #line 16056 OMC_FILE
16057  goto tmp2_done;
16058  }
16059  }
16060  goto tmp2_end;
16061  tmp2_end: ;
16062  }
16063  goto goto_1;
16064  goto_1:;
16065  MMC_THROW_INTERNAL();
16066  goto tmp2_done;
16067  tmp2_done:;
16068  }
16069  }
16070  _outelem = tmpMeta[0];
16071  _return: OMC_LABEL_UNUSED
16072  return _outelem;
16073 }
float mmc_switch_type
struct record_description DAE_Element_VAR__desc
Definition: DAE_records.c:927
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_replaceCrefBottomUp()

DLLExport modelica_metatype omc_DAEUtil_replaceCrefBottomUp ( threadData_t threadData,
modelica_metatype  _inExp,
modelica_metatype  _replIn,
modelica_metatype out_replOut 
)

Definition at line 1498 of file DAEUtil.c.

1499 {
1500  modelica_metatype _outExp = NULL;
1501  modelica_metatype _replOut = NULL;
1502  MMC_SO();
1503  _tailrecursive: OMC_LABEL_UNUSED
1504 #line 6408 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1505  _replOut = _replIn;
1506 #line 1506 OMC_FILE
1507 
1508 #line 6409 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1509  _outExp = omc_Expression_traverseExpBottomUp(threadData, _inExp, boxvar_DAEUtil_replaceCompRef, _replIn, NULL);
1510 #line 1510 OMC_FILE
1511  _return: OMC_LABEL_UNUSED
1512  if (out_replOut) { *out_replOut = _replOut; }
1513  return _outExp;
1514 }
DLLExport modelica_metatype omc_Expression_traverseExpBottomUp(threadData_t *threadData, modelica_metatype _inExp, modelica_fnptr _inFunc, modelica_metatype _inExtArg, modelica_metatype *out_outExtArg)
Definition: Expression.c:34297
void * modelica_metatype
Here is the call graph for this function:

◆ omc_DAEUtil_replaceCrefInAnnotation()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_replaceCrefInAnnotation ( threadData_t threadData,
modelica_metatype  _inExp,
modelica_metatype  _inTable 
)

Definition at line 13073 of file DAEUtil.c.

13074 {
13075  modelica_metatype _outExp = NULL;
13076  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
13077  MMC_SO();
13078  _tailrecursive: OMC_LABEL_UNUSED
13079 #line 13079 OMC_FILE
13080  { /* matchcontinue expression */
13081  volatile modelica_metatype tmp3_1;
13082  tmp3_1 = _inExp;
13083  {
13084  modelica_metatype _cr = NULL;
13085  modelica_metatype _exp = NULL;
13086  volatile mmc_switch_type tmp3;
13087  int tmp4;
13088  tmp3 = 0;
13089  MMC_TRY_INTERNAL(mmc_jumper)
13090  tmp2_top:
13091  threadData->mmc_jumper = &new_mmc_jumper;
13092  for (; tmp3 < 2; tmp3++) {
13093  switch (MMC_SWITCH_CAST(tmp3)) {
13094  case 0: {
13095  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,6,2) == 0) goto tmp2_end;
13096  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
13097 
13098  _cr = tmpMeta[1];
13099  /* Pattern matching succeeded */
13100 #line 3384 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13101  _exp = omc_BaseHashTable_get(threadData, _cr, _inTable);
13102 #line 13102 OMC_FILE
13103 #line 3385 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13104  tmpMeta[0] = omc_DAEUtil_replaceCrefInAnnotation(threadData, _exp, _inTable);
13105 #line 13105 OMC_FILE
13106  goto tmp2_done;
13107  }
13108  case 1: {
13109 
13110  /* Pattern matching succeeded */
13111 #line 3388 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13112  tmpMeta[0] = _inExp;
13113 #line 13113 OMC_FILE
13114  goto tmp2_done;
13115  }
13116  }
13117  goto tmp2_end;
13118  tmp2_end: ;
13119  }
13120  goto goto_1;
13121  tmp2_done:
13122  (void)tmp3;
13123  MMC_RESTORE_INTERNAL(mmc_jumper);
13124  goto tmp2_done2;
13125  goto_1:;
13126  MMC_CATCH_INTERNAL(mmc_jumper);
13127  if (++tmp3 < 2) {
13128  goto tmp2_top;
13129  }
13130  MMC_THROW_INTERNAL();
13131  tmp2_done2:;
13132  }
13133  }
13134  _outExp = tmpMeta[0];
13135  _return: OMC_LABEL_UNUSED
13136  return _outExp;
13137 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
float mmc_switch_type
DLLExport modelica_metatype omc_BaseHashTable_get(threadData_t *threadData, modelica_metatype _key, modelica_metatype _hashTable)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_replaceCrefInAnnotation(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inTable)
Definition: DAEUtil.c:13073
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:

◆ omc_DAEUtil_replaceCrefInDAEElements()

DLLExport modelica_metatype omc_DAEUtil_replaceCrefInDAEElements ( threadData_t threadData,
modelica_metatype  _inElements,
modelica_metatype  _inCref,
modelica_metatype  _inExp 
)

Definition at line 1517 of file DAEUtil.c.

1518 {
1519  modelica_metatype _outElements = NULL;
1520  modelica_metatype _repl = NULL;
1521  MMC_SO();
1522  _tailrecursive: OMC_LABEL_UNUSED
1523 #line 6397 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1524  _repl = omc_VarTransform_emptyReplacements(threadData);
1525 #line 1525 OMC_FILE
1526 
1527 #line 6398 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1528  _repl = omc_VarTransform_addReplacement(threadData, _repl, _inCref, _inExp);
1529 #line 1529 OMC_FILE
1530 
1531 #line 6399 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1532  _outElements = omc_DAEUtil_traverseDAEElementList(threadData, _inElements, boxvar_DAEUtil_replaceCrefBottomUp, _repl, NULL);
1533 #line 1533 OMC_FILE
1534  _return: OMC_LABEL_UNUSED
1535  return _outElements;
1536 }
DLLExport modelica_metatype omc_DAEUtil_traverseDAEElementList(threadData_t *threadData, modelica_metatype _ $in_elements, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
Definition: DAEUtil.c:11074
DLLExport modelica_metatype omc_VarTransform_addReplacement(threadData_t *threadData, modelica_metatype _repl, modelica_metatype _inSrc, modelica_metatype _inDst)
void * modelica_metatype
DLLExport modelica_metatype omc_VarTransform_emptyReplacements(threadData_t *threadData)
Here is the call graph for this function:

◆ omc_DAEUtil_replaceCrefInVar()

DLLExport modelica_metatype omc_DAEUtil_replaceCrefInVar ( threadData_t threadData,
modelica_metatype  _newCr,
modelica_metatype  _inelem 
)

Definition at line 16155 of file DAEUtil.c.

16156 {
16157  modelica_metatype _outelem = NULL;
16158  modelica_metatype tmpMeta[13] __attribute__((unused)) = {0};
16159  MMC_SO();
16160  _tailrecursive: OMC_LABEL_UNUSED
16161 #line 16161 OMC_FILE
16162  { /* match expression */
16163  modelica_metatype tmp3_1;
16164  tmp3_1 = _inelem;
16165  {
16166  modelica_metatype _a2 = NULL;
16167  modelica_metatype _a3 = NULL;
16168  modelica_metatype _prl = NULL;
16169  modelica_metatype _a4 = NULL;
16170  modelica_metatype _a5 = NULL;
16171  modelica_metatype _a7 = NULL;
16172  modelica_metatype _ct = NULL;
16173  modelica_metatype _a6 = NULL;
16174  modelica_metatype _source = NULL;
16175  modelica_metatype _a11 = NULL;
16176  modelica_metatype _a12 = NULL;
16177  modelica_metatype _a13 = NULL;
16178  volatile mmc_switch_type tmp3;
16179  int tmp4;
16180  tmp3 = 0;
16181  for (; tmp3 < 1; tmp3++) {
16182  switch (MMC_SWITCH_CAST(tmp3)) {
16183  case 0: {
16184  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
16185  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
16186  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
16187  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
16188  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 6));
16189  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 7));
16190  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 8));
16191  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 9));
16192  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 10));
16193  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 11));
16194  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 12));
16195  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 13));
16196  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 14));
16197  _a2 = tmpMeta[1];
16198  _a3 = tmpMeta[2];
16199  _prl = tmpMeta[3];
16200  _a4 = tmpMeta[4];
16201  _a5 = tmpMeta[5];
16202  _a6 = tmpMeta[6];
16203  _a7 = tmpMeta[7];
16204  _ct = tmpMeta[8];
16205  _source = tmpMeta[9];
16206  _a11 = tmpMeta[10];
16207  _a12 = tmpMeta[11];
16208  _a13 = tmpMeta[12];
16209  /* Pattern matching succeeded */
16210 #line 2533 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16211  tmpMeta[1] = mmc_mk_box14(3, &DAE_Element_VAR__desc, _newCr, _a2, _a3, _prl, _a4, _a5, _a6, _a7, _ct, _source, _a11, _a12, _a13);
16212 #line 2533 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16213  tmpMeta[0] = tmpMeta[1];
16214 #line 16214 OMC_FILE
16215  goto tmp2_done;
16216  }
16217  }
16218  goto tmp2_end;
16219  tmp2_end: ;
16220  }
16221  goto goto_1;
16222  goto_1:;
16223  MMC_THROW_INTERNAL();
16224  goto tmp2_done;
16225  tmp2_done:;
16226  }
16227  }
16228  _outelem = tmpMeta[0];
16229  _return: OMC_LABEL_UNUSED
16230  return _outelem;
16231 }
float mmc_switch_type
struct record_description DAE_Element_VAR__desc
Definition: DAE_records.c:927
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_replaceTypeInVar()

DLLExport modelica_metatype omc_DAEUtil_replaceTypeInVar ( threadData_t threadData,
modelica_metatype  _newType,
modelica_metatype  _inelem 
)

Definition at line 16076 of file DAEUtil.c.

16077 {
16078  modelica_metatype _outelem = NULL;
16079  modelica_metatype tmpMeta[13] __attribute__((unused)) = {0};
16080  MMC_SO();
16081  _tailrecursive: OMC_LABEL_UNUSED
16082 #line 16082 OMC_FILE
16083  { /* match expression */
16084  modelica_metatype tmp3_1;
16085  tmp3_1 = _inelem;
16086  {
16087  modelica_metatype _a1 = NULL;
16088  modelica_metatype _a2 = NULL;
16089  modelica_metatype _a3 = NULL;
16090  modelica_metatype _prl = NULL;
16091  modelica_metatype _a4 = NULL;
16092  modelica_metatype _a7 = NULL;
16093  modelica_metatype _ct = NULL;
16094  modelica_metatype _a6 = NULL;
16095  modelica_metatype _source = NULL;
16096  modelica_metatype _a11 = NULL;
16097  modelica_metatype _a12 = NULL;
16098  modelica_metatype _a13 = NULL;
16099  volatile mmc_switch_type tmp3;
16100  int tmp4;
16101  tmp3 = 0;
16102  for (; tmp3 < 1; tmp3++) {
16103  switch (MMC_SWITCH_CAST(tmp3)) {
16104  case 0: {
16105  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
16106  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
16107  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
16108  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
16109  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
16110  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 6));
16111  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 8));
16112  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 9));
16113  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 10));
16114  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 11));
16115  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 12));
16116  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 13));
16117  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 14));
16118  _a1 = tmpMeta[1];
16119  _a2 = tmpMeta[2];
16120  _a3 = tmpMeta[3];
16121  _prl = tmpMeta[4];
16122  _a4 = tmpMeta[5];
16123  _a6 = tmpMeta[6];
16124  _a7 = tmpMeta[7];
16125  _ct = tmpMeta[8];
16126  _source = tmpMeta[9];
16127  _a11 = tmpMeta[10];
16128  _a12 = tmpMeta[11];
16129  _a13 = tmpMeta[12];
16130  /* Pattern matching succeeded */
16131 #line 2556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16132  tmpMeta[1] = mmc_mk_box14(3, &DAE_Element_VAR__desc, _a1, _a2, _a3, _prl, _a4, _newType, _a6, _a7, _ct, _source, _a11, _a12, _a13);
16133 #line 2556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16134  tmpMeta[0] = tmpMeta[1];
16135 #line 16135 OMC_FILE
16136  goto tmp2_done;
16137  }
16138  }
16139  goto tmp2_end;
16140  tmp2_end: ;
16141  }
16142  goto goto_1;
16143  goto_1:;
16144  MMC_THROW_INTERNAL();
16145  goto tmp2_done;
16146  tmp2_done:;
16147  }
16148  }
16149  _outelem = tmpMeta[0];
16150  _return: OMC_LABEL_UNUSED
16151  return _outelem;
16152 }
float mmc_switch_type
struct record_description DAE_Element_VAR__desc
Definition: DAE_records.c:927
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_scodePrlToDaePrl()

DLLExport modelica_metatype omc_DAEUtil_scodePrlToDaePrl ( threadData_t threadData,
modelica_metatype  _inParallelism 
)

Definition at line 17746 of file DAEUtil.c.

17747 {
17748  modelica_metatype _outVarParallelism = NULL;
17749  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
17750  MMC_SO();
17751  _tailrecursive: OMC_LABEL_UNUSED
17752 #line 17752 OMC_FILE
17753  { /* match expression */
17754  modelica_metatype tmp3_1;
17755  tmp3_1 = _inParallelism;
17756  {
17757  int tmp3;
17758  {
17759  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
17760  case 5: {
17761 
17762  /* Pattern matching succeeded */
17763 #line 2112 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17764  tmpMeta[0] = _OMC_LIT131;
17765 #line 17765 OMC_FILE
17766  goto tmp2_done;
17767  }
17768  case 3: {
17769 
17770  /* Pattern matching succeeded */
17771 #line 2113 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17772  tmpMeta[0] = _OMC_LIT132;
17773 #line 17773 OMC_FILE
17774  goto tmp2_done;
17775  }
17776  case 4: {
17777 
17778  /* Pattern matching succeeded */
17779 #line 2114 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17780  tmpMeta[0] = _OMC_LIT133;
17781 #line 17781 OMC_FILE
17782  goto tmp2_done;
17783  }
17784  }
17785  goto tmp2_end;
17786  tmp2_end: ;
17787  }
17788  goto goto_1;
17789  goto_1:;
17790  MMC_THROW_INTERNAL();
17791  goto tmp2_done;
17792  tmp2_done:;
17793  }
17794  }
17795  _outVarParallelism = tmpMeta[0];
17796  _return: OMC_LABEL_UNUSED
17797  return _outVarParallelism;
17798 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_setAttrDirection()

DLLExport modelica_metatype omc_DAEUtil_setAttrDirection ( threadData_t threadData,
modelica_metatype $in_attr,
modelica_metatype  _dir 
)

Definition at line 3982 of file DAEUtil.c.

3983 {
3984  modelica_metatype _attr = NULL;
3985  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
3986  MMC_SO();
3987  _tailrecursive: OMC_LABEL_UNUSED
3988  _attr = _$in_attr;
3989 #line 5710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3990  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(8));
3991 #line 5710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3992  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_attr), 8*sizeof(modelica_metatype));
3993 #line 5710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3994  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[5] = _dir;
3995 #line 5710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3996  _attr = tmpMeta[0];
3997 #line 3997 OMC_FILE
3998  _return: OMC_LABEL_UNUSED
3999  return _attr;
4000 }
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_setAttributeDirection()

DLLExport modelica_metatype omc_DAEUtil_setAttributeDirection ( threadData_t threadData,
modelica_metatype  _inDirection,
modelica_metatype  _inAttributes 
)

Definition at line 3383 of file DAEUtil.c.

3384 {
3385  modelica_metatype _outAttributes = NULL;
3386  modelica_metatype _ct = NULL;
3387  modelica_metatype _p = NULL;
3388  modelica_metatype _var = NULL;
3389  modelica_metatype _io = NULL;
3390  modelica_metatype _vis = NULL;
3391  modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
3392  MMC_SO();
3393  _tailrecursive: OMC_LABEL_UNUSED
3394 #line 5889 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3395  /* Pattern-matching assignment */
3396 #line 5889 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3397  tmpMeta[0] = _inAttributes;
3398 #line 5889 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3399  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
3400 #line 5889 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3401  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
3402 #line 5889 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3403  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
3404 #line 5889 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3405  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 6));
3406 #line 5889 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3407  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 7));
3408 #line 5889 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3409  _ct = tmpMeta[1];
3410 #line 5889 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3411  _p = tmpMeta[2];
3412 #line 5889 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3413  _var = tmpMeta[3];
3414 #line 5889 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3415  _io = tmpMeta[4];
3416 #line 5889 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3417  _vis = tmpMeta[5];
3418 #line 3418 OMC_FILE
3419 
3420 #line 5890 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3421  tmpMeta[0] = mmc_mk_box7(3, &DAE_Attributes_ATTR__desc, _ct, _p, _var, _inDirection, _io, _vis);
3422 #line 5890 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3423  _outAttributes = tmpMeta[0];
3424 #line 3424 OMC_FILE
3425  _return: OMC_LABEL_UNUSED
3426  return _outAttributes;
3427 }
struct record_description DAE_Attributes_ATTR__desc
Definition: DAE_records.c:3345
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_setAttrInnerOuter()

DLLExport modelica_metatype omc_DAEUtil_setAttrInnerOuter ( threadData_t threadData,
modelica_metatype $in_attr,
modelica_metatype  _io 
)

Definition at line 3950 of file DAEUtil.c.

3951 {
3952  modelica_metatype _attr = NULL;
3953  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
3954  MMC_SO();
3955  _tailrecursive: OMC_LABEL_UNUSED
3956  _attr = _$in_attr;
3957 #line 5725 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3958  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(8));
3959 #line 5725 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3960  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_attr), 8*sizeof(modelica_metatype));
3961 #line 5725 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3962  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[6] = _io;
3963 #line 5725 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3964  _attr = tmpMeta[0];
3965 #line 3965 OMC_FILE
3966  _return: OMC_LABEL_UNUSED
3967  return _attr;
3968 }
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_setAttrVariability()

DLLExport modelica_metatype omc_DAEUtil_setAttrVariability ( threadData_t threadData,
modelica_metatype $in_attr,
modelica_metatype  _var 
)

Definition at line 4014 of file DAEUtil.c.

4015 {
4016  modelica_metatype _attr = NULL;
4017  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
4018  MMC_SO();
4019  _tailrecursive: OMC_LABEL_UNUSED
4020  _attr = _$in_attr;
4021 #line 5694 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4022  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(8));
4023 #line 5694 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4024  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_attr), 8*sizeof(modelica_metatype));
4025 #line 5694 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4026  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[4] = _var;
4027 #line 5694 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4028  _attr = tmpMeta[0];
4029 #line 4029 OMC_FILE
4030  _return: OMC_LABEL_UNUSED
4031  return _attr;
4032 }
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_setBindingSource()

DLLExport modelica_metatype omc_DAEUtil_setBindingSource ( threadData_t threadData,
modelica_metatype  _inBinding,
modelica_metatype  _bindingSource 
)

Definition at line 4609 of file DAEUtil.c.

4610 {
4611  modelica_metatype _outBinding = NULL;
4612  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
4613  MMC_SO();
4614  _tailrecursive: OMC_LABEL_UNUSED
4615 #line 4615 OMC_FILE
4616  { /* match expression */
4617  modelica_metatype tmp3_1;
4618  tmp3_1 = _inBinding;
4619  {
4620  modelica_metatype _exp = NULL;
4621  modelica_metatype _evaluatedExp = NULL;
4622  modelica_metatype _cnst = NULL;
4623  modelica_metatype _valBound = NULL;
4624  int tmp3;
4625  {
4626  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
4627  case 3: {
4628 
4629  /* Pattern matching succeeded */
4630 #line 5506 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4631  tmpMeta[0] = _inBinding;
4632 #line 4632 OMC_FILE
4633  goto tmp2_done;
4634  }
4635  case 4: {
4636  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,4) == 0) goto tmp2_end;
4637  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
4638  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
4639  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
4640 
4641  _exp = tmpMeta[1];
4642  _evaluatedExp = tmpMeta[2];
4643  _cnst = tmpMeta[3];
4644  /* Pattern matching succeeded */
4645 #line 5507 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4646  tmpMeta[1] = mmc_mk_box5(4, &DAE_Binding_EQBOUND__desc, _exp, _evaluatedExp, _cnst, _bindingSource);
4647 #line 5507 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4648  tmpMeta[0] = tmpMeta[1];
4649 #line 4649 OMC_FILE
4650  goto tmp2_done;
4651  }
4652  case 5: {
4653  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,2,2) == 0) goto tmp2_end;
4654  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
4655 
4656  _valBound = tmpMeta[1];
4657  /* Pattern matching succeeded */
4658 #line 5508 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4659  tmpMeta[1] = mmc_mk_box3(5, &DAE_Binding_VALBOUND__desc, _valBound, _bindingSource);
4660 #line 5508 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4661  tmpMeta[0] = tmpMeta[1];
4662 #line 4662 OMC_FILE
4663  goto tmp2_done;
4664  }
4665  }
4666  goto tmp2_end;
4667  tmp2_end: ;
4668  }
4669  goto goto_1;
4670  goto_1:;
4671  MMC_THROW_INTERNAL();
4672  goto tmp2_done;
4673  tmp2_done:;
4674  }
4675  }
4676  _outBinding = tmpMeta[0];
4677  _return: OMC_LABEL_UNUSED
4678  return _outBinding;
4679 }
ADD_METARECORD_DEFINITIONS struct record_description DAE_Binding_EQBOUND__desc
Definition: DAE_records.c:3429
struct record_description DAE_Binding_VALBOUND__desc
Definition: DAE_records.c:3449
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_setElementVarBinding()

DLLExport modelica_metatype omc_DAEUtil_setElementVarBinding ( threadData_t threadData,
modelica_metatype  _elt,
modelica_metatype  _binding 
)

Definition at line 21915 of file DAEUtil.c.

21916 {
21917  modelica_metatype _e = NULL;
21918  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
21919  MMC_SO();
21920  _tailrecursive: OMC_LABEL_UNUSED
21921  _e = _elt;
21922 #line 21922 OMC_FILE
21923  { /* match expression */
21924  modelica_metatype tmp3_1;
21925  tmp3_1 = _e;
21926  {
21927  volatile mmc_switch_type tmp3;
21928  int tmp4;
21929  tmp3 = 0;
21930  for (; tmp3 < 2; tmp3++) {
21931  switch (MMC_SWITCH_CAST(tmp3)) {
21932  case 0: {
21933  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
21934 
21935  /* Pattern matching succeeded */
21936 #line 1195 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21937  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(15));
21938 #line 1195 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21939  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_e), 15*sizeof(modelica_metatype));
21940 #line 1195 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21941  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[8] = _binding;
21942 #line 1195 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21943  _e = tmpMeta[1];
21944 #line 21944 OMC_FILE
21945 #line 1196 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21946  tmpMeta[0] = _e;
21947 #line 21947 OMC_FILE
21948  goto tmp2_done;
21949  }
21950  case 1: {
21951 
21952  /* Pattern matching succeeded */
21953 #line 1197 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21954  tmpMeta[0] = _e;
21955 #line 21955 OMC_FILE
21956  goto tmp2_done;
21957  }
21958  }
21959  goto tmp2_end;
21960  tmp2_end: ;
21961  }
21962  goto goto_1;
21963  goto_1:;
21964  MMC_THROW_INTERNAL();
21965  goto tmp2_done;
21966  tmp2_done:;
21967  }
21968  }
21969  _e = tmpMeta[0];
21970  _return: OMC_LABEL_UNUSED
21971  return _e;
21972 }
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_setElementVarDirection()

DLLExport modelica_metatype omc_DAEUtil_setElementVarDirection ( threadData_t threadData,
modelica_metatype  _elt,
modelica_metatype  _direction 
)

Definition at line 21975 of file DAEUtil.c.

21976 {
21977  modelica_metatype _e = NULL;
21978  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
21979  MMC_SO();
21980  _tailrecursive: OMC_LABEL_UNUSED
21981  _e = _elt;
21982 #line 21982 OMC_FILE
21983  { /* match expression */
21984  modelica_metatype tmp3_1;
21985  tmp3_1 = _e;
21986  {
21987  volatile mmc_switch_type tmp3;
21988  int tmp4;
21989  tmp3 = 0;
21990  for (; tmp3 < 2; tmp3++) {
21991  switch (MMC_SWITCH_CAST(tmp3)) {
21992  case 0: {
21993  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
21994 
21995  /* Pattern matching succeeded */
21996 #line 1180 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21997  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(15));
21998 #line 1180 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21999  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_e), 15*sizeof(modelica_metatype));
22000 #line 1180 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22001  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[4] = _direction;
22002 #line 1180 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22003  _e = tmpMeta[1];
22004 #line 22004 OMC_FILE
22005 #line 1181 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22006  tmpMeta[0] = _e;
22007 #line 22007 OMC_FILE
22008  goto tmp2_done;
22009  }
22010  case 1: {
22011 
22012  /* Pattern matching succeeded */
22013 #line 1182 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22014  tmpMeta[0] = _e;
22015 #line 22015 OMC_FILE
22016  goto tmp2_done;
22017  }
22018  }
22019  goto tmp2_end;
22020  tmp2_end: ;
22021  }
22022  goto goto_1;
22023  goto_1:;
22024  MMC_THROW_INTERNAL();
22025  goto tmp2_done;
22026  tmp2_done:;
22027  }
22028  }
22029  _e = tmpMeta[0];
22030  _return: OMC_LABEL_UNUSED
22031  return _e;
22032 }
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_setElementVarVisibility()

DLLExport modelica_metatype omc_DAEUtil_setElementVarVisibility ( threadData_t threadData,
modelica_metatype  _elt,
modelica_metatype  _visibility 
)

Definition at line 22035 of file DAEUtil.c.

22036 {
22037  modelica_metatype _e = NULL;
22038  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
22039  MMC_SO();
22040  _tailrecursive: OMC_LABEL_UNUSED
22041  _e = _elt;
22042 #line 22042 OMC_FILE
22043  { /* match expression */
22044  modelica_metatype tmp3_1;
22045  tmp3_1 = _e;
22046  {
22047  volatile mmc_switch_type tmp3;
22048  int tmp4;
22049  tmp3 = 0;
22050  for (; tmp3 < 2; tmp3++) {
22051  switch (MMC_SWITCH_CAST(tmp3)) {
22052  case 0: {
22053  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
22054 
22055  /* Pattern matching succeeded */
22056 #line 1165 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22057  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(15));
22058 #line 1165 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22059  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_e), 15*sizeof(modelica_metatype));
22060 #line 1165 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22061  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[6] = _visibility;
22062 #line 1165 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22063  _e = tmpMeta[1];
22064 #line 22064 OMC_FILE
22065 #line 1166 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22066  tmpMeta[0] = _e;
22067 #line 22067 OMC_FILE
22068  goto tmp2_done;
22069  }
22070  case 1: {
22071 
22072  /* Pattern matching succeeded */
22073 #line 1167 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22074  tmpMeta[0] = _e;
22075 #line 22075 OMC_FILE
22076  goto tmp2_done;
22077  }
22078  }
22079  goto tmp2_end;
22080  tmp2_end: ;
22081  }
22082  goto goto_1;
22083  goto_1:;
22084  MMC_THROW_INTERNAL();
22085  goto tmp2_done;
22086  tmp2_done:;
22087  }
22088  }
22089  _e = tmpMeta[0];
22090  _return: OMC_LABEL_UNUSED
22091  return _e;
22092 }
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_setFinalAttr()

DLLExport modelica_metatype omc_DAEUtil_setFinalAttr ( threadData_t threadData,
modelica_metatype  _attr,
modelica_boolean  _finalPrefix 
)

Definition at line 21106 of file DAEUtil.c.

21107 {
21108  modelica_metatype _outAttr = NULL;
21109  modelica_metatype tmpMeta[16] __attribute__((unused)) = {0};
21110  MMC_SO();
21111  _tailrecursive: OMC_LABEL_UNUSED
21112 #line 21112 OMC_FILE
21113  { /* match expression */
21114  modelica_metatype tmp3_1;
21115  tmp3_1 = _attr;
21116  {
21117  modelica_metatype _q = NULL;
21118  modelica_metatype _u = NULL;
21119  modelica_metatype _du = NULL;
21120  modelica_metatype _i = NULL;
21121  modelica_metatype _f = NULL;
21122  modelica_metatype _n = NULL;
21123  modelica_metatype _so = NULL;
21124  modelica_metatype _min = NULL;
21125  modelica_metatype _max = NULL;
21126  modelica_metatype _ss = NULL;
21127  modelica_metatype _unc = NULL;
21128  modelica_metatype _distOpt = NULL;
21129  modelica_metatype _eb = NULL;
21130  modelica_metatype _ip = NULL;
21131  volatile mmc_switch_type tmp3;
21132  int tmp4;
21133  tmp3 = 0;
21134  for (; tmp3 < 7; tmp3++) {
21135  switch (MMC_SWITCH_CAST(tmp3)) {
21136  case 0: {
21137  if (optionNone(tmp3_1)) goto tmp2_end;
21138  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21139  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
21140  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21141  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
21142  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
21143  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
21144  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
21145  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
21146  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
21147  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
21148  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
21149  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 11));
21150  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 12));
21151  tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 13));
21152  tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 14));
21153  tmpMeta[15] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 16));
21154  _q = tmpMeta[2];
21155  _u = tmpMeta[3];
21156  _du = tmpMeta[4];
21157  _min = tmpMeta[5];
21158  _max = tmpMeta[6];
21159  _i = tmpMeta[7];
21160  _f = tmpMeta[8];
21161  _n = tmpMeta[9];
21162  _ss = tmpMeta[10];
21163  _unc = tmpMeta[11];
21164  _distOpt = tmpMeta[12];
21165  _eb = tmpMeta[13];
21166  _ip = tmpMeta[14];
21167  _so = tmpMeta[15];
21168  /* Pattern matching succeeded */
21169 #line 1296 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21170  tmpMeta[1] = mmc_mk_box16(3, &DAE_VariableAttributes_VAR__ATTR__REAL__desc, _q, _u, _du, _min, _max, _i, _f, _n, _ss, _unc, _distOpt, _eb, _ip, mmc_mk_some(mmc_mk_boolean(_finalPrefix)), _so);
21171 #line 1296 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21172  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21173 #line 21173 OMC_FILE
21174  goto tmp2_done;
21175  }
21176  case 1: {
21177  if (optionNone(tmp3_1)) goto tmp2_end;
21178  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21179  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,11) == 0) goto tmp2_end;
21180  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21181  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
21182  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
21183  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
21184  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
21185  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
21186  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
21187  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
21188  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
21189  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 12));
21190  _q = tmpMeta[2];
21191  _min = tmpMeta[3];
21192  _max = tmpMeta[4];
21193  _i = tmpMeta[5];
21194  _f = tmpMeta[6];
21195  _unc = tmpMeta[7];
21196  _distOpt = tmpMeta[8];
21197  _eb = tmpMeta[9];
21198  _ip = tmpMeta[10];
21199  _so = tmpMeta[11];
21200  /* Pattern matching succeeded */
21201 #line 1298 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21202  tmpMeta[1] = mmc_mk_box12(4, &DAE_VariableAttributes_VAR__ATTR__INT__desc, _q, _min, _max, _i, _f, _unc, _distOpt, _eb, _ip, mmc_mk_some(mmc_mk_boolean(_finalPrefix)), _so);
21203 #line 1298 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21204  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21205 #line 21205 OMC_FILE
21206  goto tmp2_done;
21207  }
21208  case 2: {
21209  if (optionNone(tmp3_1)) goto tmp2_end;
21210  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21211  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,7) == 0) goto tmp2_end;
21212  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21213  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
21214  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
21215  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
21216  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
21217  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
21218  _q = tmpMeta[2];
21219  _i = tmpMeta[3];
21220  _f = tmpMeta[4];
21221  _eb = tmpMeta[5];
21222  _ip = tmpMeta[6];
21223  _so = tmpMeta[7];
21224  /* Pattern matching succeeded */
21225 #line 1300 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21226  tmpMeta[1] = mmc_mk_box8(5, &DAE_VariableAttributes_VAR__ATTR__BOOL__desc, _q, _i, _f, _eb, _ip, mmc_mk_some(mmc_mk_boolean(_finalPrefix)), _so);
21227 #line 1300 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21228  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21229 #line 21229 OMC_FILE
21230  goto tmp2_done;
21231  }
21232  case 3: {
21233  if (optionNone(tmp3_1)) goto tmp2_end;
21234  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21235  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,2) == 0) goto tmp2_end;
21236  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21237 
21238  _ip = tmpMeta[2];
21239  /* Pattern matching succeeded */
21240 #line 1303 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21241  tmpMeta[1] = mmc_mk_box3(6, &DAE_VariableAttributes_VAR__ATTR__CLOCK__desc, _ip, mmc_mk_some(mmc_mk_boolean(_finalPrefix)));
21242 #line 1303 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21243  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21244 #line 21244 OMC_FILE
21245  goto tmp2_done;
21246  }
21247  case 4: {
21248  if (optionNone(tmp3_1)) goto tmp2_end;
21249  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21250  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,7) == 0) goto tmp2_end;
21251  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21252  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
21253  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
21254  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
21255  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
21256  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
21257  _q = tmpMeta[2];
21258  _i = tmpMeta[3];
21259  _f = tmpMeta[4];
21260  _eb = tmpMeta[5];
21261  _ip = tmpMeta[6];
21262  _so = tmpMeta[7];
21263  /* Pattern matching succeeded */
21264 #line 1305 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21265  tmpMeta[1] = mmc_mk_box8(7, &DAE_VariableAttributes_VAR__ATTR__STRING__desc, _q, _i, _f, _eb, _ip, mmc_mk_some(mmc_mk_boolean(_finalPrefix)), _so);
21266 #line 1305 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21267  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21268 #line 21268 OMC_FILE
21269  goto tmp2_done;
21270  }
21271  case 5: {
21272  if (optionNone(tmp3_1)) goto tmp2_end;
21273  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21274  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,9) == 0) goto tmp2_end;
21275  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21276  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
21277  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
21278  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
21279  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
21280  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
21281  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
21282  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
21283  _q = tmpMeta[2];
21284  _min = tmpMeta[3];
21285  _max = tmpMeta[4];
21286  _u = tmpMeta[5];
21287  _du = tmpMeta[6];
21288  _eb = tmpMeta[7];
21289  _ip = tmpMeta[8];
21290  _so = tmpMeta[9];
21291  /* Pattern matching succeeded */
21292 #line 1307 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21293  tmpMeta[1] = mmc_mk_box10(8, &DAE_VariableAttributes_VAR__ATTR__ENUMERATION__desc, _q, _min, _max, _u, _du, _eb, _ip, mmc_mk_some(mmc_mk_boolean(_finalPrefix)), _so);
21294 #line 1307 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21295  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21296 #line 21296 OMC_FILE
21297  goto tmp2_done;
21298  }
21299  case 6: {
21300  if (!optionNone(tmp3_1)) goto tmp2_end;
21301  /* Pattern matching succeeded */
21302 #line 1309 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21303  tmpMeta[1] = mmc_mk_box16(3, &DAE_VariableAttributes_VAR__ATTR__REAL__desc, mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_some(mmc_mk_boolean(_finalPrefix)), mmc_mk_none());
21304 #line 1309 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21305  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21306 #line 21306 OMC_FILE
21307  goto tmp2_done;
21308  }
21309  }
21310  goto tmp2_end;
21311  tmp2_end: ;
21312  }
21313  goto goto_1;
21314  goto_1:;
21315  MMC_THROW_INTERNAL();
21316  goto tmp2_done;
21317  tmp2_done:;
21318  }
21319  }
21320  _outAttr = tmpMeta[0];
21321  _return: OMC_LABEL_UNUSED
21322  return _outAttr;
21323 }
float mmc_switch_type
struct record_description DAE_VariableAttributes_VAR__ATTR__ENUMERATION__desc
Definition: DAE_records.c:2136
struct record_description DAE_VariableAttributes_VAR__ATTR__REAL__desc
Definition: DAE_records.c:2071
ADD_METARECORD_DEFINITIONS struct record_description DAE_VariableAttributes_VAR__ATTR__CLOCK__desc
Definition: DAE_records.c:2103
struct record_description DAE_VariableAttributes_VAR__ATTR__BOOL__desc
Definition: DAE_records.c:2097
void * modelica_metatype
struct record_description DAE_VariableAttributes_VAR__ATTR__STRING__desc
Definition: DAE_records.c:2123
struct record_description DAE_VariableAttributes_VAR__ATTR__INT__desc
Definition: DAE_records.c:2084
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_setFixedAttr()

DLLExport modelica_metatype omc_DAEUtil_setFixedAttr ( threadData_t threadData,
modelica_metatype  _attr,
modelica_metatype  _fixed 
)

Definition at line 21335 of file DAEUtil.c.

21336 {
21337  modelica_metatype _outAttr = NULL;
21338  modelica_metatype tmpMeta[16] __attribute__((unused)) = {0};
21339  MMC_SO();
21340  _tailrecursive: OMC_LABEL_UNUSED
21341 #line 21341 OMC_FILE
21342  { /* match expression */
21343  modelica_metatype tmp3_1;
21344  tmp3_1 = _attr;
21345  {
21346  modelica_metatype _q = NULL;
21347  modelica_metatype _u = NULL;
21348  modelica_metatype _du = NULL;
21349  modelica_metatype _n = NULL;
21350  modelica_metatype _ini = NULL;
21351  modelica_metatype _so = NULL;
21352  modelica_metatype _min = NULL;
21353  modelica_metatype _max = NULL;
21354  modelica_metatype _ss = NULL;
21355  modelica_metatype _unc = NULL;
21356  modelica_metatype _distOpt = NULL;
21357  modelica_metatype _eb = NULL;
21358  modelica_metatype _ip = NULL;
21359  modelica_metatype _fn = NULL;
21360  volatile mmc_switch_type tmp3;
21361  int tmp4;
21362  tmp3 = 0;
21363  for (; tmp3 < 5; tmp3++) {
21364  switch (MMC_SWITCH_CAST(tmp3)) {
21365  case 0: {
21366  if (optionNone(tmp3_1)) goto tmp2_end;
21367  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21368  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
21369  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21370  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
21371  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
21372  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
21373  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
21374  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
21375  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
21376  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
21377  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 11));
21378  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 12));
21379  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 13));
21380  tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 14));
21381  tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 15));
21382  tmpMeta[15] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 16));
21383  _q = tmpMeta[2];
21384  _u = tmpMeta[3];
21385  _du = tmpMeta[4];
21386  _min = tmpMeta[5];
21387  _max = tmpMeta[6];
21388  _ini = tmpMeta[7];
21389  _n = tmpMeta[8];
21390  _ss = tmpMeta[9];
21391  _unc = tmpMeta[10];
21392  _distOpt = tmpMeta[11];
21393  _eb = tmpMeta[12];
21394  _ip = tmpMeta[13];
21395  _fn = tmpMeta[14];
21396  _so = tmpMeta[15];
21397  /* Pattern matching succeeded */
21398 #line 1268 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21399  tmpMeta[1] = mmc_mk_box16(3, &DAE_VariableAttributes_VAR__ATTR__REAL__desc, _q, _u, _du, _min, _max, _ini, _fixed, _n, _ss, _unc, _distOpt, _eb, _ip, _fn, _so);
21400 #line 1268 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21401  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21402 #line 21402 OMC_FILE
21403  goto tmp2_done;
21404  }
21405  case 1: {
21406  if (optionNone(tmp3_1)) goto tmp2_end;
21407  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21408  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,11) == 0) goto tmp2_end;
21409  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21410  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
21411  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
21412  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
21413  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
21414  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
21415  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
21416  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
21417  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 11));
21418  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 12));
21419  _q = tmpMeta[2];
21420  _min = tmpMeta[3];
21421  _max = tmpMeta[4];
21422  _ini = tmpMeta[5];
21423  _unc = tmpMeta[6];
21424  _distOpt = tmpMeta[7];
21425  _eb = tmpMeta[8];
21426  _ip = tmpMeta[9];
21427  _fn = tmpMeta[10];
21428  _so = tmpMeta[11];
21429  /* Pattern matching succeeded */
21430 #line 1270 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21431  tmpMeta[1] = mmc_mk_box12(4, &DAE_VariableAttributes_VAR__ATTR__INT__desc, _q, _min, _max, _ini, _fixed, _unc, _distOpt, _eb, _ip, _fn, _so);
21432 #line 1270 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21433  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21434 #line 21434 OMC_FILE
21435  goto tmp2_done;
21436  }
21437  case 2: {
21438  if (optionNone(tmp3_1)) goto tmp2_end;
21439  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21440  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,7) == 0) goto tmp2_end;
21441  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21442  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
21443  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
21444  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
21445  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
21446  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
21447  _q = tmpMeta[2];
21448  _ini = tmpMeta[3];
21449  _eb = tmpMeta[4];
21450  _ip = tmpMeta[5];
21451  _fn = tmpMeta[6];
21452  _so = tmpMeta[7];
21453  /* Pattern matching succeeded */
21454 #line 1272 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21455  tmpMeta[1] = mmc_mk_box8(5, &DAE_VariableAttributes_VAR__ATTR__BOOL__desc, _q, _ini, _fixed, _eb, _ip, _fn, _so);
21456 #line 1272 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21457  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21458 #line 21458 OMC_FILE
21459  goto tmp2_done;
21460  }
21461  case 3: {
21462  if (optionNone(tmp3_1)) goto tmp2_end;
21463  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21464  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,7) == 0) goto tmp2_end;
21465  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21466  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
21467  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
21468  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
21469  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
21470  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
21471  _q = tmpMeta[2];
21472  _ini = tmpMeta[3];
21473  _eb = tmpMeta[4];
21474  _ip = tmpMeta[5];
21475  _fn = tmpMeta[6];
21476  _so = tmpMeta[7];
21477  /* Pattern matching succeeded */
21478 #line 1274 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21479  tmpMeta[1] = mmc_mk_box8(7, &DAE_VariableAttributes_VAR__ATTR__STRING__desc, _q, _ini, _fixed, _eb, _ip, _fn, _so);
21480 #line 1274 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21481  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21482 #line 21482 OMC_FILE
21483  goto tmp2_done;
21484  }
21485  case 4: {
21486  if (optionNone(tmp3_1)) goto tmp2_end;
21487  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21488  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,9) == 0) goto tmp2_end;
21489  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21490  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
21491  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
21492  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
21493  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
21494  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
21495  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
21496  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
21497  _q = tmpMeta[2];
21498  _min = tmpMeta[3];
21499  _max = tmpMeta[4];
21500  _u = tmpMeta[5];
21501  _eb = tmpMeta[6];
21502  _ip = tmpMeta[7];
21503  _fn = tmpMeta[8];
21504  _so = tmpMeta[9];
21505  /* Pattern matching succeeded */
21506 #line 1276 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21507  tmpMeta[1] = mmc_mk_box10(8, &DAE_VariableAttributes_VAR__ATTR__ENUMERATION__desc, _q, _min, _max, _u, _fixed, _eb, _ip, _fn, _so);
21508 #line 1276 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21509  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21510 #line 21510 OMC_FILE
21511  goto tmp2_done;
21512  }
21513  }
21514  goto tmp2_end;
21515  tmp2_end: ;
21516  }
21517  goto goto_1;
21518  goto_1:;
21519  MMC_THROW_INTERNAL();
21520  goto tmp2_done;
21521  tmp2_done:;
21522  }
21523  }
21524  _outAttr = tmpMeta[0];
21525  _return: OMC_LABEL_UNUSED
21526  return _outAttr;
21527 }
float mmc_switch_type
struct record_description DAE_VariableAttributes_VAR__ATTR__ENUMERATION__desc
Definition: DAE_records.c:2136
struct record_description DAE_VariableAttributes_VAR__ATTR__REAL__desc
Definition: DAE_records.c:2071
struct record_description DAE_VariableAttributes_VAR__ATTR__BOOL__desc
Definition: DAE_records.c:2097
void * modelica_metatype
struct record_description DAE_VariableAttributes_VAR__ATTR__STRING__desc
Definition: DAE_records.c:2123
struct record_description DAE_VariableAttributes_VAR__ATTR__INT__desc
Definition: DAE_records.c:2084
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_setMinMax()

DLLExport modelica_metatype omc_DAEUtil_setMinMax ( threadData_t threadData,
modelica_metatype  _inAttr,
modelica_metatype  _inMin,
modelica_metatype  _inMax 
)

Definition at line 23293 of file DAEUtil.c.

23294 {
23295  modelica_metatype _outAttr = NULL;
23296  modelica_metatype tmpMeta[17] __attribute__((unused)) = {0};
23297  MMC_SO();
23298  _tailrecursive: OMC_LABEL_UNUSED
23299 #line 23299 OMC_FILE
23300  { /* match expression */
23301  modelica_metatype tmp3_1;
23302  tmp3_1 = _inAttr;
23303  {
23304  modelica_metatype _q = NULL;
23305  modelica_metatype _u = NULL;
23306  modelica_metatype _du = NULL;
23307  modelica_metatype _f = NULL;
23308  modelica_metatype _n = NULL;
23309  modelica_metatype _i = NULL;
23310  modelica_metatype _ss = NULL;
23311  modelica_metatype _unc = NULL;
23312  modelica_metatype _distOpt = NULL;
23313  modelica_metatype _eb = NULL;
23314  modelica_metatype _ip = NULL;
23315  modelica_metatype _fn = NULL;
23316  modelica_metatype _so = NULL;
23317  modelica_metatype _min = NULL;
23318  modelica_metatype _max = NULL;
23319  volatile mmc_switch_type tmp3;
23320  int tmp4;
23321  tmp3 = 0;
23322  for (; tmp3 < 4; tmp3++) {
23323  switch (MMC_SWITCH_CAST(tmp3)) {
23324  case 0: {
23325  modelica_boolean tmp5;
23326  if (optionNone(tmp3_1)) goto tmp2_end;
23327  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23328  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
23329  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
23330  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
23331  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
23332  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
23333  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
23334  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
23335  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
23336  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
23337  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
23338  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 11));
23339  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 12));
23340  tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 13));
23341  tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 14));
23342  tmpMeta[15] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 15));
23343  tmpMeta[16] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 16));
23344  _q = tmpMeta[2];
23345  _u = tmpMeta[3];
23346  _du = tmpMeta[4];
23347  _min = tmpMeta[5];
23348  _max = tmpMeta[6];
23349  _i = tmpMeta[7];
23350  _f = tmpMeta[8];
23351  _n = tmpMeta[9];
23352  _ss = tmpMeta[10];
23353  _unc = tmpMeta[11];
23354  _distOpt = tmpMeta[12];
23355  _eb = tmpMeta[13];
23356  _ip = tmpMeta[14];
23357  _fn = tmpMeta[15];
23358  _so = tmpMeta[16];
23359  /* Pattern matching succeeded */
23360 #line 879 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23361  tmp5 = (modelica_boolean)(referenceEq(_min, _inMin) && referenceEq(_max, _inMax));
23362 #line 879 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23363  if(tmp5)
23364 #line 879 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23365  {
23366 #line 879 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23367  tmpMeta[2] = _inAttr;
23368 #line 879 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23369  }
23370 #line 879 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23371  else
23372 #line 879 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23373  {
23374 #line 879 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23375  tmpMeta[1] = mmc_mk_box16(3, &DAE_VariableAttributes_VAR__ATTR__REAL__desc, _q, _u, _du, _inMin, _inMax, _i, _f, _n, _ss, _unc, _distOpt, _eb, _ip, _fn, _so);
23376 #line 879 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23377  tmpMeta[2] = mmc_mk_some(tmpMeta[1]);
23378 #line 879 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23379  }
23380 #line 879 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23381  tmpMeta[0] = tmpMeta[2];
23382 #line 23382 OMC_FILE
23383  goto tmp2_done;
23384  }
23385  case 1: {
23386  modelica_boolean tmp6;
23387  if (optionNone(tmp3_1)) goto tmp2_end;
23388  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23389  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,11) == 0) goto tmp2_end;
23390  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
23391  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
23392  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
23393  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
23394  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
23395  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
23396  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
23397  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
23398  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
23399  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 11));
23400  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 12));
23401  _q = tmpMeta[2];
23402  _min = tmpMeta[3];
23403  _max = tmpMeta[4];
23404  _i = tmpMeta[5];
23405  _f = tmpMeta[6];
23406  _unc = tmpMeta[7];
23407  _distOpt = tmpMeta[8];
23408  _eb = tmpMeta[9];
23409  _ip = tmpMeta[10];
23410  _fn = tmpMeta[11];
23411  _so = tmpMeta[12];
23412  /* Pattern matching succeeded */
23413 #line 882 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23414  tmp6 = (modelica_boolean)(referenceEq(_min, _inMin) && referenceEq(_max, _inMax));
23415 #line 882 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23416  if(tmp6)
23417 #line 882 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23418  {
23419 #line 882 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23420  tmpMeta[2] = _inAttr;
23421 #line 882 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23422  }
23423 #line 882 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23424  else
23425 #line 882 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23426  {
23427 #line 882 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23428  tmpMeta[1] = mmc_mk_box12(4, &DAE_VariableAttributes_VAR__ATTR__INT__desc, _q, _inMin, _inMax, _i, _f, _unc, _distOpt, _eb, _ip, _fn, _so);
23429 #line 882 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23430  tmpMeta[2] = mmc_mk_some(tmpMeta[1]);
23431 #line 882 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23432  }
23433 #line 882 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23434  tmpMeta[0] = tmpMeta[2];
23435 #line 23435 OMC_FILE
23436  goto tmp2_done;
23437  }
23438  case 2: {
23439  modelica_boolean tmp7;
23440  if (optionNone(tmp3_1)) goto tmp2_end;
23441  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
23442  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,9) == 0) goto tmp2_end;
23443  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
23444  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
23445  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
23446  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
23447  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
23448  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
23449  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
23450  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
23451  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
23452  _q = tmpMeta[2];
23453  _min = tmpMeta[3];
23454  _max = tmpMeta[4];
23455  _u = tmpMeta[5];
23456  _du = tmpMeta[6];
23457  _eb = tmpMeta[7];
23458  _ip = tmpMeta[8];
23459  _fn = tmpMeta[9];
23460  _so = tmpMeta[10];
23461  /* Pattern matching succeeded */
23462 #line 885 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23463  tmp7 = (modelica_boolean)(referenceEq(_min, _inMin) && referenceEq(_max, _inMax));
23464 #line 885 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23465  if(tmp7)
23466 #line 885 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23467  {
23468 #line 885 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23469  tmpMeta[2] = _inAttr;
23470 #line 885 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23471  }
23472 #line 885 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23473  else
23474 #line 885 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23475  {
23476 #line 885 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23477  tmpMeta[1] = mmc_mk_box10(8, &DAE_VariableAttributes_VAR__ATTR__ENUMERATION__desc, _q, _inMin, _inMax, _u, _du, _eb, _ip, _fn, _so);
23478 #line 885 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23479  tmpMeta[2] = mmc_mk_some(tmpMeta[1]);
23480 #line 885 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23481  }
23482 #line 885 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23483  tmpMeta[0] = tmpMeta[2];
23484 #line 23484 OMC_FILE
23485  goto tmp2_done;
23486  }
23487  case 3: {
23488  if (!optionNone(tmp3_1)) goto tmp2_end;
23489  /* Pattern matching succeeded */
23490 #line 888 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23491  tmpMeta[1] = mmc_mk_box16(3, &DAE_VariableAttributes_VAR__ATTR__REAL__desc, mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), _inMin, _inMax, mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none());
23492 #line 888 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23493  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
23494 #line 23494 OMC_FILE
23495  goto tmp2_done;
23496  }
23497  }
23498  goto tmp2_end;
23499  tmp2_end: ;
23500  }
23501  goto goto_1;
23502  goto_1:;
23503  MMC_THROW_INTERNAL();
23504  goto tmp2_done;
23505  tmp2_done:;
23506  }
23507  }
23508  _outAttr = tmpMeta[0];
23509  _return: OMC_LABEL_UNUSED
23510  return _outAttr;
23511 }
signed char modelica_boolean
float mmc_switch_type
struct record_description DAE_VariableAttributes_VAR__ATTR__ENUMERATION__desc
Definition: DAE_records.c:2136
struct record_description DAE_VariableAttributes_VAR__ATTR__REAL__desc
Definition: DAE_records.c:2071
void * modelica_metatype
struct record_description DAE_VariableAttributes_VAR__ATTR__INT__desc
Definition: DAE_records.c:2084
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_setNominalAttr()

DLLExport modelica_metatype omc_DAEUtil_setNominalAttr ( threadData_t threadData,
modelica_metatype  _attr,
modelica_metatype  _nominal 
)

Definition at line 22192 of file DAEUtil.c.

22193 {
22194  modelica_metatype _outAttr = NULL;
22195  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
22196  MMC_SO();
22197  _tailrecursive: OMC_LABEL_UNUSED
22198 #line 22198 OMC_FILE
22199  { /* match expression */
22200  modelica_metatype tmp3_1;
22201  tmp3_1 = _attr;
22202  {
22203  modelica_metatype _va = NULL;
22204  volatile mmc_switch_type tmp3;
22205  int tmp4;
22206  tmp3 = 0;
22207  for (; tmp3 < 2; tmp3++) {
22208  switch (MMC_SWITCH_CAST(tmp3)) {
22209  case 0: {
22210  if (optionNone(tmp3_1)) goto tmp2_end;
22211  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22212  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
22213 
22214  _va = tmpMeta[1];
22215  /* Pattern matching succeeded */
22216 #line 1126 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22217  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(17));
22218 #line 1126 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22219  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_va), 17*sizeof(modelica_metatype));
22220 #line 1126 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22221  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[9] = mmc_mk_some(_nominal);
22222 #line 1126 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22223  _va = tmpMeta[1];
22224 #line 22224 OMC_FILE
22225 #line 1127 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22226  tmpMeta[0] = mmc_mk_some(_va);
22227 #line 22227 OMC_FILE
22228  goto tmp2_done;
22229  }
22230  case 1: {
22231  if (!optionNone(tmp3_1)) goto tmp2_end;
22232  /* Pattern matching succeeded */
22233 #line 1129 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22234  tmpMeta[1] = mmc_mk_box16(3, &DAE_VariableAttributes_VAR__ATTR__REAL__desc, mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_some(_nominal), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none());
22235 #line 1129 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22236  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
22237 #line 22237 OMC_FILE
22238  goto tmp2_done;
22239  }
22240  }
22241  goto tmp2_end;
22242  tmp2_end: ;
22243  }
22244  goto goto_1;
22245  goto_1:;
22246  MMC_THROW_INTERNAL();
22247  goto tmp2_done;
22248  tmp2_done:;
22249  }
22250  }
22251  _outAttr = tmpMeta[0];
22252  _return: OMC_LABEL_UNUSED
22253  return _outAttr;
22254 }
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
struct record_description DAE_VariableAttributes_VAR__ATTR__REAL__desc
Definition: DAE_records.c:2071
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_setProtectedAttr()

DLLExport modelica_metatype omc_DAEUtil_setProtectedAttr ( threadData_t threadData,
modelica_metatype  _attr,
modelica_boolean  _isProtected 
)

Definition at line 21682 of file DAEUtil.c.

21683 {
21684  modelica_metatype _outAttr = NULL;
21685  modelica_metatype tmpMeta[16] __attribute__((unused)) = {0};
21686  MMC_SO();
21687  _tailrecursive: OMC_LABEL_UNUSED
21688 #line 21688 OMC_FILE
21689  { /* match expression */
21690  modelica_metatype tmp3_1;
21691  tmp3_1 = _attr;
21692  {
21693  modelica_metatype _q = NULL;
21694  modelica_metatype _u = NULL;
21695  modelica_metatype _du = NULL;
21696  modelica_metatype _i = NULL;
21697  modelica_metatype _f = NULL;
21698  modelica_metatype _n = NULL;
21699  modelica_metatype _so = NULL;
21700  modelica_metatype _min = NULL;
21701  modelica_metatype _max = NULL;
21702  modelica_metatype _ss = NULL;
21703  modelica_metatype _unc = NULL;
21704  modelica_metatype _distOpt = NULL;
21705  modelica_metatype _eb = NULL;
21706  modelica_metatype _fn = NULL;
21707  volatile mmc_switch_type tmp3;
21708  int tmp4;
21709  tmp3 = 0;
21710  for (; tmp3 < 7; tmp3++) {
21711  switch (MMC_SWITCH_CAST(tmp3)) {
21712  case 0: {
21713  if (optionNone(tmp3_1)) goto tmp2_end;
21714  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21715  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
21716  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21717  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
21718  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
21719  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
21720  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
21721  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
21722  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
21723  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
21724  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
21725  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 11));
21726  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 12));
21727  tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 13));
21728  tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 15));
21729  tmpMeta[15] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 16));
21730  _q = tmpMeta[2];
21731  _u = tmpMeta[3];
21732  _du = tmpMeta[4];
21733  _min = tmpMeta[5];
21734  _max = tmpMeta[6];
21735  _i = tmpMeta[7];
21736  _f = tmpMeta[8];
21737  _n = tmpMeta[9];
21738  _ss = tmpMeta[10];
21739  _unc = tmpMeta[11];
21740  _distOpt = tmpMeta[12];
21741  _eb = tmpMeta[13];
21742  _fn = tmpMeta[14];
21743  _so = tmpMeta[15];
21744  /* Pattern matching succeeded */
21745 #line 1218 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21746  tmpMeta[1] = mmc_mk_box16(3, &DAE_VariableAttributes_VAR__ATTR__REAL__desc, _q, _u, _du, _min, _max, _i, _f, _n, _ss, _unc, _distOpt, _eb, mmc_mk_some(mmc_mk_boolean(_isProtected)), _fn, _so);
21747 #line 1218 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21748  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21749 #line 21749 OMC_FILE
21750  goto tmp2_done;
21751  }
21752  case 1: {
21753  if (optionNone(tmp3_1)) goto tmp2_end;
21754  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21755  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,11) == 0) goto tmp2_end;
21756  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21757  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
21758  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
21759  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
21760  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
21761  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
21762  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
21763  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
21764  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 11));
21765  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 12));
21766  _q = tmpMeta[2];
21767  _min = tmpMeta[3];
21768  _max = tmpMeta[4];
21769  _i = tmpMeta[5];
21770  _f = tmpMeta[6];
21771  _unc = tmpMeta[7];
21772  _distOpt = tmpMeta[8];
21773  _eb = tmpMeta[9];
21774  _fn = tmpMeta[10];
21775  _so = tmpMeta[11];
21776  /* Pattern matching succeeded */
21777 #line 1220 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21778  tmpMeta[1] = mmc_mk_box12(4, &DAE_VariableAttributes_VAR__ATTR__INT__desc, _q, _min, _max, _i, _f, _unc, _distOpt, _eb, mmc_mk_some(mmc_mk_boolean(_isProtected)), _fn, _so);
21779 #line 1220 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21780  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21781 #line 21781 OMC_FILE
21782  goto tmp2_done;
21783  }
21784  case 2: {
21785  if (optionNone(tmp3_1)) goto tmp2_end;
21786  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21787  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,7) == 0) goto tmp2_end;
21788  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21789  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
21790  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
21791  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
21792  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
21793  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
21794  _q = tmpMeta[2];
21795  _i = tmpMeta[3];
21796  _f = tmpMeta[4];
21797  _eb = tmpMeta[5];
21798  _fn = tmpMeta[6];
21799  _so = tmpMeta[7];
21800  /* Pattern matching succeeded */
21801 #line 1222 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21802  tmpMeta[1] = mmc_mk_box8(5, &DAE_VariableAttributes_VAR__ATTR__BOOL__desc, _q, _i, _f, _eb, mmc_mk_some(mmc_mk_boolean(_isProtected)), _fn, _so);
21803 #line 1222 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21804  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21805 #line 21805 OMC_FILE
21806  goto tmp2_done;
21807  }
21808  case 3: {
21809  if (optionNone(tmp3_1)) goto tmp2_end;
21810  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21811  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,7) == 0) goto tmp2_end;
21812  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21813  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
21814  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
21815  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
21816  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
21817  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
21818  _q = tmpMeta[2];
21819  _i = tmpMeta[3];
21820  _f = tmpMeta[4];
21821  _eb = tmpMeta[5];
21822  _fn = tmpMeta[6];
21823  _so = tmpMeta[7];
21824  /* Pattern matching succeeded */
21825 #line 1224 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21826  tmpMeta[1] = mmc_mk_box8(7, &DAE_VariableAttributes_VAR__ATTR__STRING__desc, _q, _i, _f, _eb, mmc_mk_some(mmc_mk_boolean(_isProtected)), _fn, _so);
21827 #line 1224 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21828  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21829 #line 21829 OMC_FILE
21830  goto tmp2_done;
21831  }
21832  case 4: {
21833  if (optionNone(tmp3_1)) goto tmp2_end;
21834  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21835  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,9) == 0) goto tmp2_end;
21836  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21837  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
21838  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
21839  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
21840  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
21841  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
21842  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
21843  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
21844  _q = tmpMeta[2];
21845  _min = tmpMeta[3];
21846  _max = tmpMeta[4];
21847  _u = tmpMeta[5];
21848  _du = tmpMeta[6];
21849  _eb = tmpMeta[7];
21850  _fn = tmpMeta[8];
21851  _so = tmpMeta[9];
21852  /* Pattern matching succeeded */
21853 #line 1226 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21854  tmpMeta[1] = mmc_mk_box10(8, &DAE_VariableAttributes_VAR__ATTR__ENUMERATION__desc, _q, _min, _max, _u, _du, _eb, mmc_mk_some(mmc_mk_boolean(_isProtected)), _fn, _so);
21855 #line 1226 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21856  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21857 #line 21857 OMC_FILE
21858  goto tmp2_done;
21859  }
21860  case 5: {
21861  if (optionNone(tmp3_1)) goto tmp2_end;
21862  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
21863  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,2) == 0) goto tmp2_end;
21864  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
21865 
21866  _fn = tmpMeta[2];
21867  /* Pattern matching succeeded */
21868 #line 1228 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21869  tmpMeta[1] = mmc_mk_box3(6, &DAE_VariableAttributes_VAR__ATTR__CLOCK__desc, _fn, mmc_mk_some(mmc_mk_boolean(_isProtected)));
21870 #line 1228 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21871  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
21872 #line 21872 OMC_FILE
21873  goto tmp2_done;
21874  }
21875  case 6: {
21876  if (!optionNone(tmp3_1)) goto tmp2_end;
21877  /* Pattern matching succeeded */
21878 #line 1231 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21879  /* Tail recursive call */
21880 #line 1231 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21881  _attr = _OMC_LIT150;
21882 #line 1231 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21883  goto _tailrecursive;
21884 #line 1231 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
21885  /* TODO: Make sure any eventual dead code below is never generated */
21886 #line 21886 OMC_FILE
21887  goto tmp2_done;
21888  }
21889  }
21890  goto tmp2_end;
21891  tmp2_end: ;
21892  }
21893  goto goto_1;
21894  goto_1:;
21895  MMC_THROW_INTERNAL();
21896  goto tmp2_done;
21897  tmp2_done:;
21898  }
21899  }
21900  _outAttr = tmpMeta[0];
21901  _return: OMC_LABEL_UNUSED
21902  return _outAttr;
21903 }
float mmc_switch_type
struct record_description DAE_VariableAttributes_VAR__ATTR__ENUMERATION__desc
Definition: DAE_records.c:2136
struct record_description DAE_VariableAttributes_VAR__ATTR__REAL__desc
Definition: DAE_records.c:2071
ADD_METARECORD_DEFINITIONS struct record_description DAE_VariableAttributes_VAR__ATTR__CLOCK__desc
Definition: DAE_records.c:2103
struct record_description DAE_VariableAttributes_VAR__ATTR__BOOL__desc
Definition: DAE_records.c:2097
void * modelica_metatype
struct record_description DAE_VariableAttributes_VAR__ATTR__STRING__desc
Definition: DAE_records.c:2123
struct record_description DAE_VariableAttributes_VAR__ATTR__INT__desc
Definition: DAE_records.c:2084
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_setStartAttr()

DLLExport modelica_metatype omc_DAEUtil_setStartAttr ( threadData_t threadData,
modelica_metatype  _attr,
modelica_metatype  _start 
)

Definition at line 22726 of file DAEUtil.c.

22727 {
22728  modelica_metatype _outAttr = NULL;
22729  MMC_SO();
22730  _tailrecursive: OMC_LABEL_UNUSED
22731 #line 1004 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22732  _outAttr = omc_DAEUtil_setStartAttrOption(threadData, _attr, mmc_mk_some(_start));
22733 #line 22733 OMC_FILE
22734  _return: OMC_LABEL_UNUSED
22735  return _outAttr;
22736 }
int32 _start()
Definition: expat_lib.c:123
DLLExport modelica_metatype omc_DAEUtil_setStartAttrOption(threadData_t *threadData, modelica_metatype _attr, modelica_metatype _start)
Definition: DAEUtil.c:22482
void * modelica_metatype
Here is the call graph for this function:

◆ omc_DAEUtil_setStartAttrOption()

DLLExport modelica_metatype omc_DAEUtil_setStartAttrOption ( threadData_t threadData,
modelica_metatype  _attr,
modelica_metatype  _start 
)

Definition at line 22482 of file DAEUtil.c.

22483 {
22484  modelica_metatype _outAttr = NULL;
22485  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
22486  MMC_SO();
22487  _tailrecursive: OMC_LABEL_UNUSED
22488 #line 22488 OMC_FILE
22489  { /* match expression */
22490  modelica_metatype tmp3_1;
22491  tmp3_1 = _attr;
22492  {
22493  modelica_metatype _va = NULL;
22494  modelica_metatype _at = NULL;
22495  volatile mmc_switch_type tmp3;
22496  int tmp4;
22497  tmp3 = 0;
22498  for (; tmp3 < 6; tmp3++) {
22499  switch (MMC_SWITCH_CAST(tmp3)) {
22500  case 0: {
22501  if (optionNone(tmp3_1)) goto tmp2_end;
22502  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22503  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
22504 
22505  _va = tmpMeta[1];
22506  /* Pattern matching succeeded */
22507 #line 1019 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22508  if(valueEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_va), 7))), _start))
22509 #line 1019 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22510  {
22511 #line 1020 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22512  _at = _attr;
22513 #line 22513 OMC_FILE
22514  }
22515  else
22516  {
22517 #line 1022 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22518  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(17));
22519 #line 1022 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22520  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_va), 17*sizeof(modelica_metatype));
22521 #line 1022 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22522  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[7] = _start;
22523 #line 1022 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22524  _va = tmpMeta[1];
22525 #line 22525 OMC_FILE
22526 
22527 #line 1023 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22528  _at = mmc_mk_some(_va);
22529 #line 22529 OMC_FILE
22530  }
22531 #line 1025 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22532  tmpMeta[0] = _at;
22533 #line 22533 OMC_FILE
22534  goto tmp2_done;
22535  }
22536  case 1: {
22537  if (optionNone(tmp3_1)) goto tmp2_end;
22538  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22539  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,11) == 0) goto tmp2_end;
22540 
22541  _va = tmpMeta[1];
22542  /* Pattern matching succeeded */
22543 #line 1028 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22544  if(valueEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_va), 5))), _start))
22545 #line 1028 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22546  {
22547 #line 1029 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22548  _at = _attr;
22549 #line 22549 OMC_FILE
22550  }
22551  else
22552  {
22553 #line 1031 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22554  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(13));
22555 #line 1031 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22556  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_va), 13*sizeof(modelica_metatype));
22557 #line 1031 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22558  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[5] = _start;
22559 #line 1031 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22560  _va = tmpMeta[1];
22561 #line 22561 OMC_FILE
22562 
22563 #line 1032 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22564  _at = mmc_mk_some(_va);
22565 #line 22565 OMC_FILE
22566  }
22567 #line 1034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22568  tmpMeta[0] = _at;
22569 #line 22569 OMC_FILE
22570  goto tmp2_done;
22571  }
22572  case 2: {
22573  if (optionNone(tmp3_1)) goto tmp2_end;
22574  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22575  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,7) == 0) goto tmp2_end;
22576 
22577  _va = tmpMeta[1];
22578  /* Pattern matching succeeded */
22579 #line 1037 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22580  if(valueEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_va), 3))), _start))
22581 #line 1037 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22582  {
22583 #line 1038 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22584  _at = _attr;
22585 #line 22585 OMC_FILE
22586  }
22587  else
22588  {
22589 #line 1040 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22590  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(9));
22591 #line 1040 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22592  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_va), 9*sizeof(modelica_metatype));
22593 #line 1040 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22594  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[3] = _start;
22595 #line 1040 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22596  _va = tmpMeta[1];
22597 #line 22597 OMC_FILE
22598 
22599 #line 1041 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22600  _at = mmc_mk_some(_va);
22601 #line 22601 OMC_FILE
22602  }
22603 #line 1043 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22604  tmpMeta[0] = _at;
22605 #line 22605 OMC_FILE
22606  goto tmp2_done;
22607  }
22608  case 3: {
22609  if (optionNone(tmp3_1)) goto tmp2_end;
22610  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22611  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,7) == 0) goto tmp2_end;
22612 
22613  _va = tmpMeta[1];
22614  /* Pattern matching succeeded */
22615 #line 1046 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22616  if(valueEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_va), 3))), _start))
22617 #line 1046 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22618  {
22619 #line 1047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22620  _at = _attr;
22621 #line 22621 OMC_FILE
22622  }
22623  else
22624  {
22625 #line 1049 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22626  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(9));
22627 #line 1049 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22628  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_va), 9*sizeof(modelica_metatype));
22629 #line 1049 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22630  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[3] = _start;
22631 #line 1049 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22632  _va = tmpMeta[1];
22633 #line 22633 OMC_FILE
22634 
22635 #line 1050 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22636  _at = mmc_mk_some(_va);
22637 #line 22637 OMC_FILE
22638  }
22639 #line 1052 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22640  tmpMeta[0] = _at;
22641 #line 22641 OMC_FILE
22642  goto tmp2_done;
22643  }
22644  case 4: {
22645  if (optionNone(tmp3_1)) goto tmp2_end;
22646  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22647  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,9) == 0) goto tmp2_end;
22648 
22649  _va = tmpMeta[1];
22650  /* Pattern matching succeeded */
22651 #line 1055 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22652  if(valueEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_va), 5))), _start))
22653 #line 1055 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22654  {
22655 #line 1056 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22656  _at = _attr;
22657 #line 22657 OMC_FILE
22658  }
22659  else
22660  {
22661 #line 1058 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22662  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(11));
22663 #line 1058 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22664  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_va), 11*sizeof(modelica_metatype));
22665 #line 1058 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22666  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[5] = _start;
22667 #line 1058 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22668  _va = tmpMeta[1];
22669 #line 22669 OMC_FILE
22670 
22671 #line 1059 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22672  _at = mmc_mk_some(_va);
22673 #line 22673 OMC_FILE
22674  }
22675 #line 1061 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22676  tmpMeta[0] = _at;
22677 #line 22677 OMC_FILE
22678  goto tmp2_done;
22679  }
22680  case 5: {
22681  modelica_boolean tmp5;
22682  if (!optionNone(tmp3_1)) goto tmp2_end;
22683  /* Pattern matching succeeded */
22684 #line 1063 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22685  tmp5 = (modelica_boolean)isNone(_start);
22686 #line 1063 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22687  if(tmp5)
22688 #line 1063 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22689  {
22690 #line 1063 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22691  tmpMeta[2] = mmc_mk_none();
22692 #line 1063 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22693  }
22694 #line 1063 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22695  else
22696 #line 1063 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22697  {
22698 #line 1063 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22699  tmpMeta[1] = mmc_mk_box16(3, &DAE_VariableAttributes_VAR__ATTR__REAL__desc, mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), _start, mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none());
22700 #line 1063 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22701  tmpMeta[2] = mmc_mk_some(tmpMeta[1]);
22702 #line 1063 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22703  }
22704 #line 1063 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22705  tmpMeta[0] = tmpMeta[2];
22706 #line 22706 OMC_FILE
22707  goto tmp2_done;
22708  }
22709  }
22710  goto tmp2_end;
22711  tmp2_end: ;
22712  }
22713  goto goto_1;
22714  goto_1:;
22715  MMC_THROW_INTERNAL();
22716  goto tmp2_done;
22717  tmp2_done:;
22718  }
22719  }
22720  _outAttr = tmpMeta[0];
22721  _return: OMC_LABEL_UNUSED
22722  return _outAttr;
22723 }
int32 _start()
Definition: expat_lib.c:123
signed char modelica_boolean
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
struct record_description DAE_VariableAttributes_VAR__ATTR__REAL__desc
Definition: DAE_records.c:2071
modelica_boolean valueEq(modelica_metatype lhs, modelica_metatype rhs)
Definition: meta_modelica.c:99
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_setStartOrigin()

DLLExport modelica_metatype omc_DAEUtil_setStartOrigin ( threadData_t threadData,
modelica_metatype  _attr,
modelica_metatype  _startOrigin 
)

Definition at line 22314 of file DAEUtil.c.

22315 {
22316  modelica_metatype _outAttr = NULL;
22317  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
22318  MMC_SO();
22319  _tailrecursive: OMC_LABEL_UNUSED
22320 #line 22320 OMC_FILE
22321  { /* match expression */
22322  modelica_metatype tmp3_1;
22323  tmp3_1 = _attr;
22324  {
22325  modelica_metatype _va = NULL;
22326  volatile mmc_switch_type tmp3;
22327  int tmp4;
22328  tmp3 = 0;
22329  for (; tmp3 < 6; tmp3++) {
22330  switch (MMC_SWITCH_CAST(tmp3)) {
22331  case 0: {
22332  if (optionNone(tmp3_1)) goto tmp2_end;
22333  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22334  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
22335 
22336  _va = tmpMeta[1];
22337  /* Pattern matching succeeded */
22338 #line 1078 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22339  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(17));
22340 #line 1078 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22341  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_va), 17*sizeof(modelica_metatype));
22342 #line 1078 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22343  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[16] = _startOrigin;
22344 #line 1078 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22345  _va = tmpMeta[1];
22346 #line 22346 OMC_FILE
22347 #line 1079 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22348  tmpMeta[0] = mmc_mk_some(_va);
22349 #line 22349 OMC_FILE
22350  goto tmp2_done;
22351  }
22352  case 1: {
22353  if (optionNone(tmp3_1)) goto tmp2_end;
22354  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22355  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,11) == 0) goto tmp2_end;
22356 
22357  _va = tmpMeta[1];
22358  /* Pattern matching succeeded */
22359 #line 1082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22360  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(13));
22361 #line 1082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22362  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_va), 13*sizeof(modelica_metatype));
22363 #line 1082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22364  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[12] = _startOrigin;
22365 #line 1082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22366  _va = tmpMeta[1];
22367 #line 22367 OMC_FILE
22368 #line 1083 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22369  tmpMeta[0] = mmc_mk_some(_va);
22370 #line 22370 OMC_FILE
22371  goto tmp2_done;
22372  }
22373  case 2: {
22374  if (optionNone(tmp3_1)) goto tmp2_end;
22375  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22376  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,7) == 0) goto tmp2_end;
22377 
22378  _va = tmpMeta[1];
22379  /* Pattern matching succeeded */
22380 #line 1086 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22381  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(9));
22382 #line 1086 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22383  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_va), 9*sizeof(modelica_metatype));
22384 #line 1086 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22385  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[8] = _startOrigin;
22386 #line 1086 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22387  _va = tmpMeta[1];
22388 #line 22388 OMC_FILE
22389 #line 1087 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22390  tmpMeta[0] = mmc_mk_some(_va);
22391 #line 22391 OMC_FILE
22392  goto tmp2_done;
22393  }
22394  case 3: {
22395  if (optionNone(tmp3_1)) goto tmp2_end;
22396  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22397  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,7) == 0) goto tmp2_end;
22398 
22399  _va = tmpMeta[1];
22400  /* Pattern matching succeeded */
22401 #line 1090 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22402  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(9));
22403 #line 1090 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22404  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_va), 9*sizeof(modelica_metatype));
22405 #line 1090 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22406  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[8] = _startOrigin;
22407 #line 1090 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22408  _va = tmpMeta[1];
22409 #line 22409 OMC_FILE
22410 #line 1091 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22411  tmpMeta[0] = mmc_mk_some(_va);
22412 #line 22412 OMC_FILE
22413  goto tmp2_done;
22414  }
22415  case 4: {
22416  if (optionNone(tmp3_1)) goto tmp2_end;
22417  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22418  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,9) == 0) goto tmp2_end;
22419 
22420  _va = tmpMeta[1];
22421  /* Pattern matching succeeded */
22422 #line 1094 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22423  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(11));
22424 #line 1094 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22425  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_va), 11*sizeof(modelica_metatype));
22426 #line 1094 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22427  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[10] = _startOrigin;
22428 #line 1094 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22429  _va = tmpMeta[1];
22430 #line 22430 OMC_FILE
22431 #line 1095 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22432  tmpMeta[0] = mmc_mk_some(_va);
22433 #line 22433 OMC_FILE
22434  goto tmp2_done;
22435  }
22436  case 5: {
22437  modelica_boolean tmp5;
22438  if (!optionNone(tmp3_1)) goto tmp2_end;
22439  /* Pattern matching succeeded */
22440 #line 1097 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22441  tmp5 = (modelica_boolean)isNone(_startOrigin);
22442 #line 1097 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22443  if(tmp5)
22444 #line 1097 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22445  {
22446 #line 1097 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22447  tmpMeta[2] = mmc_mk_none();
22448 #line 1097 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22449  }
22450 #line 1097 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22451  else
22452 #line 1097 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22453  {
22454 #line 1097 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22455  tmpMeta[1] = mmc_mk_box16(3, &DAE_VariableAttributes_VAR__ATTR__REAL__desc, mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), _startOrigin);
22456 #line 1097 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22457  tmpMeta[2] = mmc_mk_some(tmpMeta[1]);
22458 #line 1097 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22459  }
22460 #line 1097 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22461  tmpMeta[0] = tmpMeta[2];
22462 #line 22462 OMC_FILE
22463  goto tmp2_done;
22464  }
22465  }
22466  goto tmp2_end;
22467  tmp2_end: ;
22468  }
22469  goto goto_1;
22470  goto_1:;
22471  MMC_THROW_INTERNAL();
22472  goto tmp2_done;
22473  tmp2_done:;
22474  }
22475  }
22476  _outAttr = tmpMeta[0];
22477  _return: OMC_LABEL_UNUSED
22478  return _outAttr;
22479 }
signed char modelica_boolean
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
struct record_description DAE_VariableAttributes_VAR__ATTR__REAL__desc
Definition: DAE_records.c:2071
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_setStateSelect()

DLLExport modelica_metatype omc_DAEUtil_setStateSelect ( threadData_t threadData,
modelica_metatype  _attr,
modelica_metatype  _s 
)

Definition at line 22739 of file DAEUtil.c.

22740 {
22741  modelica_metatype _outAttr = NULL;
22742  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
22743  MMC_SO();
22744  _tailrecursive: OMC_LABEL_UNUSED
22745 #line 22745 OMC_FILE
22746  { /* match expression */
22747  modelica_metatype tmp3_1;
22748  tmp3_1 = _attr;
22749  {
22750  modelica_metatype _va = NULL;
22751  volatile mmc_switch_type tmp3;
22752  int tmp4;
22753  tmp3 = 0;
22754  for (; tmp3 < 2; tmp3++) {
22755  switch (MMC_SWITCH_CAST(tmp3)) {
22756  case 0: {
22757  if (optionNone(tmp3_1)) goto tmp2_end;
22758  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22759  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
22760 
22761  _va = tmpMeta[1];
22762  /* Pattern matching succeeded */
22763 #line 991 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22764  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(17));
22765 #line 991 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22766  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_va), 17*sizeof(modelica_metatype));
22767 #line 991 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22768  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[10] = mmc_mk_some(_s);
22769 #line 991 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22770  _va = tmpMeta[1];
22771 #line 22771 OMC_FILE
22772 #line 992 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22773  tmpMeta[0] = mmc_mk_some(_va);
22774 #line 22774 OMC_FILE
22775  goto tmp2_done;
22776  }
22777  case 1: {
22778  if (!optionNone(tmp3_1)) goto tmp2_end;
22779  /* Pattern matching succeeded */
22780 #line 994 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22781  tmpMeta[1] = mmc_mk_box16(3, &DAE_VariableAttributes_VAR__ATTR__REAL__desc, mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_some(_s), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none());
22782 #line 994 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22783  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
22784 #line 22784 OMC_FILE
22785  goto tmp2_done;
22786  }
22787  }
22788  goto tmp2_end;
22789  tmp2_end: ;
22790  }
22791  goto goto_1;
22792  goto_1:;
22793  MMC_THROW_INTERNAL();
22794  goto tmp2_done;
22795  tmp2_done:;
22796  }
22797  }
22798  _outAttr = tmpMeta[0];
22799  _return: OMC_LABEL_UNUSED
22800  return _outAttr;
22801 }
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
struct record_description DAE_VariableAttributes_VAR__ATTR__REAL__desc
Definition: DAE_records.c:2071
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_setUnitAttr()

DLLExport modelica_metatype omc_DAEUtil_setUnitAttr ( threadData_t threadData,
modelica_metatype  _attr,
modelica_metatype  _unit 
)

Definition at line 22095 of file DAEUtil.c.

22096 {
22097  modelica_metatype _outAttr = NULL;
22098  modelica_metatype tmpMeta[16] __attribute__((unused)) = {0};
22099  MMC_SO();
22100  _tailrecursive: OMC_LABEL_UNUSED
22101 #line 22101 OMC_FILE
22102  { /* match expression */
22103  modelica_metatype tmp3_1;
22104  tmp3_1 = _attr;
22105  {
22106  modelica_metatype _q = NULL;
22107  modelica_metatype _du = NULL;
22108  modelica_metatype _f = NULL;
22109  modelica_metatype _n = NULL;
22110  modelica_metatype _s = NULL;
22111  modelica_metatype _so = NULL;
22112  modelica_metatype _min = NULL;
22113  modelica_metatype _max = NULL;
22114  modelica_metatype _ss = NULL;
22115  modelica_metatype _unc = NULL;
22116  modelica_metatype _distOpt = NULL;
22117  modelica_metatype _eb = NULL;
22118  modelica_metatype _ip = NULL;
22119  modelica_metatype _fn = NULL;
22120  volatile mmc_switch_type tmp3;
22121  int tmp4;
22122  tmp3 = 0;
22123  for (; tmp3 < 2; tmp3++) {
22124  switch (MMC_SWITCH_CAST(tmp3)) {
22125  case 0: {
22126  if (optionNone(tmp3_1)) goto tmp2_end;
22127  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
22128  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,15) == 0) goto tmp2_end;
22129  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
22130  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
22131  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
22132  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
22133  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
22134  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
22135  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
22136  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
22137  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 11));
22138  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 12));
22139  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 13));
22140  tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 14));
22141  tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 15));
22142  tmpMeta[15] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 16));
22143  _q = tmpMeta[2];
22144  _du = tmpMeta[3];
22145  _min = tmpMeta[4];
22146  _max = tmpMeta[5];
22147  _s = tmpMeta[6];
22148  _f = tmpMeta[7];
22149  _n = tmpMeta[8];
22150  _ss = tmpMeta[9];
22151  _unc = tmpMeta[10];
22152  _distOpt = tmpMeta[11];
22153  _eb = tmpMeta[12];
22154  _ip = tmpMeta[13];
22155  _fn = tmpMeta[14];
22156  _so = tmpMeta[15];
22157  /* Pattern matching succeeded */
22158 #line 1150 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22159  tmpMeta[1] = mmc_mk_box16(3, &DAE_VariableAttributes_VAR__ATTR__REAL__desc, _q, mmc_mk_some(_unit), _du, _min, _max, _s, _f, _n, _ss, _unc, _distOpt, _eb, _ip, _fn, _so);
22160 #line 1150 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22161  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
22162 #line 22162 OMC_FILE
22163  goto tmp2_done;
22164  }
22165  case 1: {
22166  if (!optionNone(tmp3_1)) goto tmp2_end;
22167  /* Pattern matching succeeded */
22168 #line 1152 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22169  tmpMeta[1] = mmc_mk_box16(3, &DAE_VariableAttributes_VAR__ATTR__REAL__desc, mmc_mk_none(), mmc_mk_some(_unit), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none(), mmc_mk_none());
22170 #line 1152 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22171  tmpMeta[0] = mmc_mk_some(tmpMeta[1]);
22172 #line 22172 OMC_FILE
22173  goto tmp2_done;
22174  }
22175  }
22176  goto tmp2_end;
22177  tmp2_end: ;
22178  }
22179  goto goto_1;
22180  goto_1:;
22181  MMC_THROW_INTERNAL();
22182  goto tmp2_done;
22183  tmp2_done:;
22184  }
22185  }
22186  _outAttr = tmpMeta[0];
22187  _return: OMC_LABEL_UNUSED
22188  return _outAttr;
22189 }
float mmc_switch_type
struct record_description DAE_VariableAttributes_VAR__ATTR__REAL__desc
Definition: DAE_records.c:2071
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_setVariableAttributes()

DLLExport modelica_metatype omc_DAEUtil_setVariableAttributes ( threadData_t threadData,
modelica_metatype  _var,
modelica_metatype  _varOpt 
)

Definition at line 22804 of file DAEUtil.c.

22805 {
22806  modelica_metatype _v = NULL;
22807  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
22808  MMC_SO();
22809  _tailrecursive: OMC_LABEL_UNUSED
22810  _v = _var;
22811 #line 22811 OMC_FILE
22812  { /* match expression */
22813  modelica_metatype tmp3_1;
22814  tmp3_1 = _v;
22815  {
22816  volatile mmc_switch_type tmp3;
22817  int tmp4;
22818  tmp3 = 0;
22819  for (; tmp3 < 1; tmp3++) {
22820  switch (MMC_SWITCH_CAST(tmp3)) {
22821  case 0: {
22822  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
22823 
22824  /* Pattern matching succeeded */
22825 #line 975 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22826  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(15));
22827 #line 975 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22828  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_v), 15*sizeof(modelica_metatype));
22829 #line 975 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22830  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[12] = _varOpt;
22831 #line 975 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22832  _v = tmpMeta[1];
22833 #line 22833 OMC_FILE
22834 #line 976 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
22835  tmpMeta[0] = _v;
22836 #line 22836 OMC_FILE
22837  goto tmp2_done;
22838  }
22839  }
22840  goto tmp2_end;
22841  tmp2_end: ;
22842  }
22843  goto goto_1;
22844  goto_1:;
22845  MMC_THROW_INTERNAL();
22846  goto tmp2_done;
22847  tmp2_done:;
22848  }
22849  }
22850  _v = tmpMeta[0];
22851  _return: OMC_LABEL_UNUSED
22852  return _v;
22853 }
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_showCacheFuncs()

PROTECTED_FUNCTION_STATIC void omc_DAEUtil_showCacheFuncs ( threadData_t threadData,
modelica_metatype  _tree 
)

Definition at line 4034 of file DAEUtil.c.

4035 {
4036  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
4037  MMC_SO();
4038  _tailrecursive: OMC_LABEL_UNUSED
4039 #line 4039 OMC_FILE
4040  { /* match expression */
4041  {
4042  modelica_string _msg = NULL;
4043  volatile mmc_switch_type tmp3;
4044  int tmp4;
4045  tmp3 = 0;
4046  for (; tmp3 < 1; tmp3++) {
4047  switch (MMC_SWITCH_CAST(tmp3)) {
4048  case 0: {
4049  /* Pattern matching succeeded */
4050 #line 5682 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4051  _msg = stringDelimitList(omc_DAEUtil_getFunctionsInfo(threadData, _tree), _OMC_LIT26);
4052 #line 4052 OMC_FILE
4053 
4054 #line 5683 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4055  tmpMeta[0] = stringAppend(_OMC_LIT27,_msg);
4056 #line 5683 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4057  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT28);
4058 #line 5683 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4059  fputs(MMC_STRINGDATA(tmpMeta[1]),stdout);
4060 #line 4060 OMC_FILE
4061 #line 4061 OMC_FILE
4062  goto tmp2_done;
4063  }
4064  }
4065  goto tmp2_end;
4066  tmp2_end: ;
4067  }
4068  goto goto_1;
4069  goto_1:;
4070  MMC_THROW_INTERNAL();
4071  goto tmp2_done;
4072  tmp2_done:;
4073  }
4074  }
4075  ;
4076  _return: OMC_LABEL_UNUSED
4077  return;
4078 }
modelica_metatype modelica_string
float mmc_switch_type
modelica_string stringAppend(modelica_string s1, modelica_string s2)
void * modelica_metatype
DLLExport modelica_metatype omc_DAEUtil_getFunctionsInfo(threadData_t *threadData, modelica_metatype _ft)
Definition: DAEUtil.c:4143
metamodelica_string stringDelimitList(modelica_metatype lst, metamodelica_string_const delimiter)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_sortDAEElementsInModelicaCodeOrder()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_sortDAEElementsInModelicaCodeOrder ( threadData_t threadData,
modelica_metatype  _inElements,
modelica_metatype  _inDaeEls 
)

Definition at line 2996 of file DAEUtil.c.

2997 {
2998  modelica_metatype _outDaeEls = NULL;
2999  modelica_metatype _rest = NULL;
3000  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
3001  MMC_SO();
3002  _tailrecursive: OMC_LABEL_UNUSED
3003  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
3004  _outDaeEls = tmpMeta[0];
3005  _rest = _inDaeEls;
3006 #line 5981 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3007  {
3008 #line 5981 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3009  modelica_metatype _e;
3010 #line 5981 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3011  for (tmpMeta[1] = _inElements; !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
3012 #line 5981 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3013  {
3014 #line 5981 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3015  _e = MMC_CAR(tmpMeta[1]);
3016 #line 3016 OMC_FILE
3017  { /* match expression */
3018  modelica_metatype tmp3_1;
3019  tmp3_1 = _e;
3020  {
3021  modelica_metatype _named = NULL;
3022  modelica_string _name = NULL;
3023  volatile mmc_switch_type tmp3;
3024  int tmp4;
3025  tmp3 = 0;
3026  for (; tmp3 < 2; tmp3++) {
3027  switch (MMC_SWITCH_CAST(tmp3)) {
3028  case 0: {
3029  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
3030  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],3,8) == 0) goto tmp2_end;
3031  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
3032 
3033  _name = tmpMeta[3];
3034  /* Pattern matching succeeded */
3035 #line 5988 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3036  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
3037 #line 5988 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3038  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
3039 #line 5988 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3040  _named = omc_DAEUtil_splitVariableNamed(threadData, _rest, _name, tmpMeta[2], tmpMeta[3] ,&_rest);
3041 #line 3041 OMC_FILE
3042 
3043 #line 5989 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3044  _outDaeEls = omc_List_append__reverse(threadData, _named, _outDaeEls);
3045 #line 3045 OMC_FILE
3046 #line 3046 OMC_FILE
3047  goto tmp2_done;
3048  }
3049  case 1: {
3050 
3051  /* Pattern matching succeeded */
3052 #line 3052 OMC_FILE
3053  goto tmp2_done;
3054  }
3055  }
3056  goto tmp2_end;
3057  tmp2_end: ;
3058  }
3059  goto goto_1;
3060  goto_1:;
3061  MMC_THROW_INTERNAL();
3062  goto tmp2_done;
3063  tmp2_done:;
3064  }
3065  }
3066  ;
3067  }
3068  }
3069 
3070 #line 5994 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3071  _outDaeEls = omc_List_append__reverse(threadData, _inDaeEls, _outDaeEls);
3072 #line 3072 OMC_FILE
3073 
3074 #line 5995 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3075  _outDaeEls = listReverseInPlace(_outDaeEls);
3076 #line 3076 OMC_FILE
3077  _return: OMC_LABEL_UNUSED
3078  return _outDaeEls;
3079 }
modelica_metatype modelica_string
DLLExport modelica_metatype omc_List_append__reverse(threadData_t *threadData, modelica_metatype _inList1, modelica_metatype _inList2)
Definition: List.c:17948
float mmc_switch_type
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_splitVariableNamed(threadData_t *threadData, modelica_metatype _inElementLst, modelica_string _inName, modelica_metatype _inAccNamed, modelica_metatype _inAccRest, modelica_metatype *out_outRest)
Definition: DAEUtil.c:2872
void * modelica_metatype
modelica_metatype listReverseInPlace(modelica_metatype)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_sortDAEInModelicaCodeOrder()

DLLExport modelica_metatype omc_DAEUtil_sortDAEInModelicaCodeOrder ( threadData_t threadData,
modelica_boolean  _inShouldSort,
modelica_metatype  _inElements,
modelica_metatype  _inDae 
)

Definition at line 3082 of file DAEUtil.c.

3083 {
3084  modelica_metatype _outDae = NULL;
3085  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3086  MMC_SO();
3087  _tailrecursive: OMC_LABEL_UNUSED
3088 #line 3088 OMC_FILE
3089  { /* match expression */
3091  tmp3_1 = _inShouldSort;
3092  tmp3_2 = _inElements;
3093  tmp3_3 = _inDae;
3094  {
3095  modelica_metatype _els = NULL;
3096  volatile mmc_switch_type tmp3;
3097  int tmp4;
3098  tmp3 = 0;
3099  for (; tmp3 < 3; tmp3++) {
3100  switch (MMC_SWITCH_CAST(tmp3)) {
3101  case 0: {
3102  if (0 != tmp3_1) goto tmp2_end;
3103 
3104  /* Pattern matching succeeded */
3105 #line 5960 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3106  tmpMeta[0] = _inDae;
3107 #line 3107 OMC_FILE
3108  goto tmp2_done;
3109  }
3110  case 1: {
3111  if (1 != tmp3_1) goto tmp2_end;
3112  if (!listEmpty(tmp3_2)) goto tmp2_end;
3113 
3114  /* Pattern matching succeeded */
3115 #line 5962 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3116  tmpMeta[0] = _inDae;
3117 #line 3117 OMC_FILE
3118  goto tmp2_done;
3119  }
3120  case 2: {
3121  if (1 != tmp3_1) goto tmp2_end;
3122  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_3), 2));
3123  _els = tmpMeta[1];
3124  /* Pattern matching succeeded */
3125 #line 5966 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3126  _els = omc_DAEUtil_sortDAEElementsInModelicaCodeOrder(threadData, _inElements, _els);
3127 #line 3127 OMC_FILE
3128 #line 5967 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3129  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _els);
3130 #line 5967 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3131  tmpMeta[0] = tmpMeta[1];
3132 #line 3132 OMC_FILE
3133  goto tmp2_done;
3134  }
3135  }
3136  goto tmp2_end;
3137  tmp2_end: ;
3138  }
3139  goto goto_1;
3140  goto_1:;
3141  MMC_THROW_INTERNAL();
3142  goto tmp2_done;
3143  tmp2_done:;
3144  }
3145  }
3146  _outDae = tmpMeta[0];
3147  _return: OMC_LABEL_UNUSED
3148  return _outDae;
3149 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_sortDAEElementsInModelicaCodeOrder(threadData_t *threadData, modelica_metatype _inElements, modelica_metatype _inDaeEls)
Definition: DAEUtil.c:2996
struct record_description DAE_DAElist_DAE__desc
Definition: DAE_records.c:2591
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_splitComponent()

DLLExport modelica_metatype omc_DAEUtil_splitComponent ( threadData_t threadData,
modelica_metatype  _component 
)

Definition at line 5261 of file DAEUtil.c.

5262 {
5263  modelica_metatype _splitComponent = NULL;
5264  modelica_metatype _v = NULL;
5265  modelica_metatype _ie = NULL;
5266  modelica_metatype _ia = NULL;
5267  modelica_metatype _e = NULL;
5268  modelica_metatype _a = NULL;
5269  modelica_metatype _co = NULL;
5270  modelica_metatype _o = NULL;
5271  modelica_metatype _ca = NULL;
5272  modelica_metatype _sm = NULL;
5273  modelica_metatype _split_el = NULL;
5274  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
5275  MMC_SO();
5276  _tailrecursive: OMC_LABEL_UNUSED
5277 #line 5277 OMC_FILE
5278  { /* match expression */
5279  modelica_metatype tmp3_1;
5280  tmp3_1 = _component;
5281  {
5282  volatile mmc_switch_type tmp3;
5283  int tmp4;
5284  tmp3 = 0;
5285  for (; tmp3 < 1; tmp3++) {
5286  switch (MMC_SWITCH_CAST(tmp3)) {
5287  case 0: {
5288  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,17,4) == 0) goto tmp2_end;
5289 
5290  /* Pattern matching succeeded */
5291 #line 5256 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5292  _v = omc_DAEUtil_splitElements(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_component), 3))) ,&_ie ,&_ia ,&_e ,&_a ,&_co ,&_o ,&_ca ,&_sm, NULL);
5293 #line 5293 OMC_FILE
5294 
5295 #line 5257 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5296  tmpMeta[1] = mmc_mk_box10(3, &DAEDump_splitElements_SPLIT__ELEMENTS__desc, _v, _ie, _ia, _e, _a, _co, _o, _ca, _sm);
5297 #line 5257 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5298  _split_el = tmpMeta[1];
5299 #line 5299 OMC_FILE
5300 #line 5258 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5301  tmpMeta[1] = mmc_mk_box4(3, &DAEDump_compWithSplitElements_COMP__WITH__SPLIT__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_component), 2))), _split_el, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_component), 5))));
5302 #line 5258 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5303  tmpMeta[0] = tmpMeta[1];
5304 #line 5304 OMC_FILE
5305  goto tmp2_done;
5306  }
5307  }
5308  goto tmp2_end;
5309  tmp2_end: ;
5310  }
5311  goto goto_1;
5312  goto_1:;
5313  MMC_THROW_INTERNAL();
5314  goto tmp2_done;
5315  tmp2_done:;
5316  }
5317  }
5318  _splitComponent = tmpMeta[0];
5319  _return: OMC_LABEL_UNUSED
5320  return _splitComponent;
5321 }
float mmc_switch_type
ADD_METARECORD_DEFINITIONS struct record_description DAEDump_splitElements_SPLIT__ELEMENTS__desc
void * modelica_metatype
ADD_METARECORD_DEFINITIONS struct record_description DAEDump_compWithSplitElements_COMP__WITH__SPLIT__desc
DLLExport modelica_metatype omc_DAEUtil_splitElements(threadData_t *threadData, modelica_metatype _elements, modelica_metatype *out_initialEquations, modelica_metatype *out_initialAlgorithms, modelica_metatype *out_equations, modelica_metatype *out_algorithms, modelica_metatype *out_classAttributes, modelica_metatype *out_constraints, modelica_metatype *out_externalObjects, modelica_metatype *out_stateMachineComps, modelica_metatype *out_comments)
Definition: DAEUtil.c:5324
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_splitDAEIntoVarsAndEquations()

DLLExport modelica_metatype omc_DAEUtil_splitDAEIntoVarsAndEquations ( threadData_t threadData,
modelica_metatype  _inDae,
modelica_metatype out_allEqs 
)

Definition at line 24833 of file DAEUtil.c.

24834 {
24835  modelica_metatype _allVars = NULL;
24836  modelica_metatype _allEqs = NULL;
24837  modelica_metatype _rest = NULL;
24838  modelica_metatype _vars = NULL;
24839  modelica_metatype _eqs = NULL;
24840  modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
24841  MMC_SO();
24842  _tailrecursive: OMC_LABEL_UNUSED
24843 #line 370 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24844  /* Pattern-matching assignment */
24845 #line 370 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24846  tmpMeta[0] = _inDae;
24847 #line 370 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24848  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
24849 #line 370 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24850  _rest = tmpMeta[1];
24851 #line 24851 OMC_FILE
24852 
24853 #line 371 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24854  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
24855 #line 371 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24856  _vars = omc_DoubleEndedList_fromList(threadData, tmpMeta[0]);
24857 #line 24857 OMC_FILE
24858 
24859 #line 372 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24860  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
24861 #line 372 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24862  _eqs = omc_DoubleEndedList_fromList(threadData, tmpMeta[0]);
24863 #line 24863 OMC_FILE
24864 
24865 #line 373 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24866  {
24867 #line 373 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24868  modelica_metatype _elt;
24869 #line 373 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24870  for (tmpMeta[0] = _rest; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
24871 #line 373 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24872  {
24873 #line 373 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24874  _elt = MMC_CAR(tmpMeta[0]);
24875 #line 24875 OMC_FILE
24876  { /* match expression */
24877  modelica_metatype tmp3_1;
24878  tmp3_1 = _elt;
24879  {
24880  modelica_metatype _elts1 = NULL;
24881  modelica_metatype _elts11 = NULL;
24882  modelica_metatype _elts3 = NULL;
24883  modelica_string _id = NULL;
24884  modelica_metatype _source = NULL;
24885  modelica_metatype _cmt = NULL;
24886  int tmp3;
24887  {
24888  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
24889  case 3: {
24890 
24891  /* Pattern matching succeeded */
24892 #line 384 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24893  omc_DoubleEndedList_push__back(threadData, _vars, _elt);
24894 #line 24894 OMC_FILE
24895 #line 24895 OMC_FILE
24896  goto tmp2_done;
24897  }
24898  case 20: {
24899  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,17,4) == 0) goto tmp2_end;
24900  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24901  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
24902  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
24903  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
24904  _id = tmpMeta[1];
24905  _elts1 = tmpMeta[2];
24906  _source = tmpMeta[3];
24907  _cmt = tmpMeta[4];
24908  /* Pattern matching succeeded */
24909 #line 390 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24910  /* Pattern-matching tuple assignment */
24911 #line 390 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24912  tmpMeta[3] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _elts1);
24913 #line 390 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24914  tmpMeta[4] = omc_DAEUtil_splitDAEIntoVarsAndEquations(threadData, tmpMeta[3], &tmpMeta[1]);
24915 #line 390 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24916  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
24917 #line 390 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24918  _elts11 = tmpMeta[5];
24919 #line 390 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24920  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
24921 #line 390 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24922  _elts3 = tmpMeta[2];
24923 #line 24923 OMC_FILE
24924 
24925 #line 391 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24926  tmpMeta[1] = mmc_mk_box5(20, &DAE_Element_COMP__desc, _id, _elts11, _source, _cmt);
24927 #line 391 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24928  omc_DoubleEndedList_push__back(threadData, _vars, tmpMeta[1]);
24929 #line 24929 OMC_FILE
24930 
24931 #line 392 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24932  omc_DoubleEndedList_push__list__back(threadData, _eqs, _elts3);
24933 #line 24933 OMC_FILE
24934 #line 24934 OMC_FILE
24935  goto tmp2_done;
24936  }
24937  case 6: {
24938 
24939  /* Pattern matching succeeded */
24940 #line 397 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24941  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
24942 #line 24942 OMC_FILE
24943 #line 24943 OMC_FILE
24944  goto tmp2_done;
24945  }
24946  case 7: {
24947 
24948  /* Pattern matching succeeded */
24949 #line 402 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24950  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
24951 #line 24951 OMC_FILE
24952 #line 24952 OMC_FILE
24953  goto tmp2_done;
24954  }
24955  case 17: {
24956 
24957  /* Pattern matching succeeded */
24958 #line 407 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24959  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
24960 #line 24960 OMC_FILE
24961 #line 24961 OMC_FILE
24962  goto tmp2_done;
24963  }
24964  case 8: {
24965 
24966  /* Pattern matching succeeded */
24967 #line 412 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24968  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
24969 #line 24969 OMC_FILE
24970 #line 24970 OMC_FILE
24971  goto tmp2_done;
24972  }
24973  case 9: {
24974 
24975  /* Pattern matching succeeded */
24976 #line 417 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24977  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
24978 #line 24978 OMC_FILE
24979 #line 24979 OMC_FILE
24980  goto tmp2_done;
24981  }
24982  case 11: {
24983 
24984  /* Pattern matching succeeded */
24985 #line 422 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24986  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
24987 #line 24987 OMC_FILE
24988 #line 24988 OMC_FILE
24989  goto tmp2_done;
24990  }
24991  case 12: {
24992 
24993  /* Pattern matching succeeded */
24994 #line 427 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24995  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
24996 #line 24996 OMC_FILE
24997 #line 24997 OMC_FILE
24998  goto tmp2_done;
24999  }
25000  case 5: {
25001 
25002  /* Pattern matching succeeded */
25003 #line 432 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25004  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
25005 #line 25005 OMC_FILE
25006 #line 25006 OMC_FILE
25007  goto tmp2_done;
25008  }
25009  case 4: {
25010 
25011  /* Pattern matching succeeded */
25012 #line 437 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25013  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
25014 #line 25014 OMC_FILE
25015 #line 25015 OMC_FILE
25016  goto tmp2_done;
25017  }
25018  case 13: {
25019 
25020  /* Pattern matching succeeded */
25021 #line 442 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25022  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
25023 #line 25023 OMC_FILE
25024 #line 25024 OMC_FILE
25025  goto tmp2_done;
25026  }
25027  case 14: {
25028 
25029  /* Pattern matching succeeded */
25030 #line 447 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25031  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
25032 #line 25032 OMC_FILE
25033 #line 25033 OMC_FILE
25034  goto tmp2_done;
25035  }
25036  case 15: {
25037 
25038  /* Pattern matching succeeded */
25039 #line 452 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25040  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
25041 #line 25041 OMC_FILE
25042 #line 25042 OMC_FILE
25043  goto tmp2_done;
25044  }
25045  case 16: {
25046 
25047  /* Pattern matching succeeded */
25048 #line 457 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25049  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
25050 #line 25050 OMC_FILE
25051 #line 25051 OMC_FILE
25052  goto tmp2_done;
25053  }
25054  case 18: {
25055 
25056  /* Pattern matching succeeded */
25057 #line 462 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25058  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
25059 #line 25059 OMC_FILE
25060 #line 25060 OMC_FILE
25061  goto tmp2_done;
25062  }
25063  case 19: {
25064 
25065  /* Pattern matching succeeded */
25066 #line 467 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25067  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
25068 #line 25068 OMC_FILE
25069 #line 25069 OMC_FILE
25070  goto tmp2_done;
25071  }
25072  case 21: {
25073 
25074  /* Pattern matching succeeded */
25075 #line 474 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25076  omc_DoubleEndedList_push__back(threadData, _vars, _elt);
25077 #line 25077 OMC_FILE
25078 #line 25078 OMC_FILE
25079  goto tmp2_done;
25080  }
25081  case 22: {
25082 
25083  /* Pattern matching succeeded */
25084 #line 479 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25085  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
25086 #line 25086 OMC_FILE
25087 #line 25087 OMC_FILE
25088  goto tmp2_done;
25089  }
25090  case 23: {
25091 
25092  /* Pattern matching succeeded */
25093 #line 484 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25094  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
25095 #line 25095 OMC_FILE
25096 #line 25096 OMC_FILE
25097  goto tmp2_done;
25098  }
25099  case 24: {
25100 
25101  /* Pattern matching succeeded */
25102 #line 489 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25103  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
25104 #line 25104 OMC_FILE
25105 #line 25105 OMC_FILE
25106  goto tmp2_done;
25107  }
25108  case 25: {
25109 
25110  /* Pattern matching succeeded */
25111 #line 494 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25112  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
25113 #line 25113 OMC_FILE
25114 #line 25114 OMC_FILE
25115  goto tmp2_done;
25116  }
25117  case 26: {
25118 
25119  /* Pattern matching succeeded */
25120 #line 499 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25121  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
25122 #line 25122 OMC_FILE
25123 #line 25123 OMC_FILE
25124  goto tmp2_done;
25125  }
25126  case 27: {
25127 
25128  /* Pattern matching succeeded */
25129 #line 505 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25130  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
25131 #line 25131 OMC_FILE
25132 #line 25132 OMC_FILE
25133  goto tmp2_done;
25134  }
25135  case 28: {
25136 
25137  /* Pattern matching succeeded */
25138 #line 510 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25139  omc_DoubleEndedList_push__back(threadData, _eqs, _elt);
25140 #line 25140 OMC_FILE
25141 #line 25141 OMC_FILE
25142  goto tmp2_done;
25143  }
25144  default:
25145  tmp2_default: OMC_LABEL_UNUSED; {
25146 
25147  /* Pattern matching succeeded */
25148 #line 515 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25149  tmpMeta[1] = mmc_mk_cons(_elt, MMC_REFSTRUCTLIT(mmc_nil));
25150 #line 515 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25151  tmpMeta[2] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, tmpMeta[1]);
25152 #line 515 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25153  tmpMeta[3] = stringAppend(_OMC_LIT159,omc_DAEDump_dumpDAEElementsStr(threadData, tmpMeta[2]));
25154 #line 515 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25155  omc_Error_addInternalError(threadData, tmpMeta[3], _OMC_LIT161);
25156 #line 25156 OMC_FILE
25157 #line 516 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25158  goto goto_1;
25159 #line 25159 OMC_FILE
25160  goto tmp2_done;
25161  }
25162  }
25163  goto tmp2_end;
25164  tmp2_end: ;
25165  }
25166  goto goto_1;
25167  goto_1:;
25168  MMC_THROW_INTERNAL();
25169  goto tmp2_done;
25170  tmp2_done:;
25171  }
25172  }
25173  ;
25174  }
25175  }
25176 
25177 #line 519 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25178  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
25179 #line 519 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25180  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, omc_DoubleEndedList_toListAndClear(threadData, _vars, tmpMeta[0]));
25181 #line 519 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25182  _allVars = tmpMeta[1];
25183 #line 25183 OMC_FILE
25184 
25185 #line 520 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25186  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
25187 #line 520 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25188  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, omc_DoubleEndedList_toListAndClear(threadData, _eqs, tmpMeta[0]));
25189 #line 520 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
25190  _allEqs = tmpMeta[1];
25191 #line 25191 OMC_FILE
25192  _return: OMC_LABEL_UNUSED
25193  if (out_allEqs) { *out_allEqs = _allEqs; }
25194  return _allVars;
25195 }
modelica_metatype modelica_string
DLLExport void omc_DoubleEndedList_push__back(threadData_t *threadData, modelica_metatype _delst, modelica_metatype _elt)
DLLExport modelica_metatype omc_DoubleEndedList_fromList(threadData_t *threadData, modelica_metatype _lst)
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_COMP__desc
Definition: DAE_records.c:1141
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport void omc_Error_addInternalError(threadData_t *threadData, modelica_string _message, modelica_metatype _info)
Definition: Error.c:135
DLLExport modelica_string omc_DAEDump_dumpDAEElementsStr(threadData_t *threadData, modelica_metatype _d)
Definition: DAEDump.c:3641
void * modelica_metatype
DLLExport modelica_metatype omc_DoubleEndedList_toListAndClear(threadData_t *threadData, modelica_metatype _delst, modelica_metatype _prependToList)
DLLExport modelica_metatype omc_DAEUtil_splitDAEIntoVarsAndEquations(threadData_t *threadData, modelica_metatype _inDae, modelica_metatype *out_allEqs)
Definition: DAEUtil.c:24833
DLLExport void omc_DoubleEndedList_push__list__back(threadData_t *threadData, modelica_metatype _delst, modelica_metatype _lst)
struct record_description DAE_DAElist_DAE__desc
Definition: DAE_records.c:2591
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_splitElements()

DLLExport modelica_metatype omc_DAEUtil_splitElements ( threadData_t threadData,
modelica_metatype  _elements,
modelica_metatype out_initialEquations,
modelica_metatype out_initialAlgorithms,
modelica_metatype out_equations,
modelica_metatype out_algorithms,
modelica_metatype out_classAttributes,
modelica_metatype out_constraints,
modelica_metatype out_externalObjects,
modelica_metatype out_stateMachineComps,
modelica_metatype out_comments 
)

Definition at line 5324 of file DAEUtil.c.

5325 {
5326  modelica_metatype _variables = NULL;
5327  modelica_metatype _initialEquations = NULL;
5328  modelica_metatype _initialAlgorithms = NULL;
5329  modelica_metatype _equations = NULL;
5330  modelica_metatype _algorithms = NULL;
5331  modelica_metatype _classAttributes = NULL;
5332  modelica_metatype _constraints = NULL;
5333  modelica_metatype _externalObjects = NULL;
5334  modelica_metatype _stateMachineComps = NULL;
5335  modelica_metatype _comments = NULL;
5336  modelica_metatype _split_comp = NULL;
5337  modelica_metatype tmpMeta[12] __attribute__((unused)) = {0};
5338  MMC_SO();
5339  _tailrecursive: OMC_LABEL_UNUSED
5340  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
5341  _variables = tmpMeta[0];
5342  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
5343  _initialEquations = tmpMeta[1];
5344  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
5345  _initialAlgorithms = tmpMeta[2];
5346  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
5347  _equations = tmpMeta[3];
5348  tmpMeta[4] = MMC_REFSTRUCTLIT(mmc_nil);
5349  _algorithms = tmpMeta[4];
5350  tmpMeta[5] = MMC_REFSTRUCTLIT(mmc_nil);
5351  _classAttributes = tmpMeta[5];
5352  tmpMeta[6] = MMC_REFSTRUCTLIT(mmc_nil);
5353  _constraints = tmpMeta[6];
5354  tmpMeta[7] = MMC_REFSTRUCTLIT(mmc_nil);
5355  _externalObjects = tmpMeta[7];
5356  tmpMeta[8] = MMC_REFSTRUCTLIT(mmc_nil);
5357  _stateMachineComps = tmpMeta[8];
5358  tmpMeta[9] = MMC_REFSTRUCTLIT(mmc_nil);
5359  _comments = tmpMeta[9];
5360 #line 5147 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5361  {
5362 #line 5147 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5363  modelica_metatype _e;
5364 #line 5147 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5365  for (tmpMeta[10] = _elements; !listEmpty(tmpMeta[10]); tmpMeta[10]=MMC_CDR(tmpMeta[10]))
5366 #line 5147 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5367  {
5368 #line 5147 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5369  _e = MMC_CAR(tmpMeta[10]);
5370 #line 5370 OMC_FILE
5371  { /* match expression */
5372  modelica_metatype tmp3_1;
5373  tmp3_1 = _e;
5374  {
5375  int tmp3;
5376  {
5377  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
5378  case 3: {
5379 
5380  /* Pattern matching succeeded */
5381 #line 5150 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5382  tmpMeta[11] = mmc_mk_cons(_e, _variables);
5383 #line 5150 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5384  _variables = tmpMeta[11];
5385 #line 5385 OMC_FILE
5386 #line 5386 OMC_FILE
5387  goto tmp2_done;
5388  }
5389  case 17: {
5390 
5391  /* Pattern matching succeeded */
5392 #line 5153 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5393  tmpMeta[11] = mmc_mk_cons(_e, _initialEquations);
5394 #line 5153 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5395  _initialEquations = tmpMeta[11];
5396 #line 5396 OMC_FILE
5397 #line 5397 OMC_FILE
5398  goto tmp2_done;
5399  }
5400  case 9: {
5401 
5402  /* Pattern matching succeeded */
5403 #line 5155 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5404  tmpMeta[11] = mmc_mk_cons(_e, _initialEquations);
5405 #line 5155 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5406  _initialEquations = tmpMeta[11];
5407 #line 5407 OMC_FILE
5408 #line 5408 OMC_FILE
5409  goto tmp2_done;
5410  }
5411  case 12: {
5412 
5413  /* Pattern matching succeeded */
5414 #line 5157 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5415  tmpMeta[11] = mmc_mk_cons(_e, _initialEquations);
5416 #line 5157 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5417  _initialEquations = tmpMeta[11];
5418 #line 5418 OMC_FILE
5419 #line 5419 OMC_FILE
5420  goto tmp2_done;
5421  }
5422  case 5: {
5423 
5424  /* Pattern matching succeeded */
5425 #line 5159 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5426  tmpMeta[11] = mmc_mk_cons(_e, _initialEquations);
5427 #line 5159 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5428  _initialEquations = tmpMeta[11];
5429 #line 5429 OMC_FILE
5430 #line 5430 OMC_FILE
5431  goto tmp2_done;
5432  }
5433  case 16: {
5434 
5435  /* Pattern matching succeeded */
5436 #line 5161 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5437  tmpMeta[11] = mmc_mk_cons(_e, _initialEquations);
5438 #line 5161 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5439  _initialEquations = tmpMeta[11];
5440 #line 5440 OMC_FILE
5441 #line 5441 OMC_FILE
5442  goto tmp2_done;
5443  }
5444  case 23: {
5445 
5446  /* Pattern matching succeeded */
5447 #line 5163 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5448  tmpMeta[11] = mmc_mk_cons(_e, _initialEquations);
5449 #line 5163 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5450  _initialEquations = tmpMeta[11];
5451 #line 5451 OMC_FILE
5452 #line 5452 OMC_FILE
5453  goto tmp2_done;
5454  }
5455  case 25: {
5456 
5457  /* Pattern matching succeeded */
5458 #line 5165 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5459  tmpMeta[11] = mmc_mk_cons(_e, _initialEquations);
5460 #line 5165 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5461  _initialEquations = tmpMeta[11];
5462 #line 5462 OMC_FILE
5463 #line 5463 OMC_FILE
5464  goto tmp2_done;
5465  }
5466  case 28: {
5467 
5468  /* Pattern matching succeeded */
5469 #line 5167 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5470  tmpMeta[11] = mmc_mk_cons(_e, _initialEquations);
5471 #line 5167 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5472  _initialEquations = tmpMeta[11];
5473 #line 5473 OMC_FILE
5474 #line 5474 OMC_FILE
5475  goto tmp2_done;
5476  }
5477  case 19: {
5478 
5479  /* Pattern matching succeeded */
5480 #line 5169 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5481  tmpMeta[11] = mmc_mk_cons(_e, _initialAlgorithms);
5482 #line 5169 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5483  _initialAlgorithms = tmpMeta[11];
5484 #line 5484 OMC_FILE
5485 #line 5485 OMC_FILE
5486  goto tmp2_done;
5487  }
5488  case 6: {
5489 
5490  /* Pattern matching succeeded */
5491 #line 5172 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5492  tmpMeta[11] = mmc_mk_cons(_e, _equations);
5493 #line 5172 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5494  _equations = tmpMeta[11];
5495 #line 5495 OMC_FILE
5496 #line 5496 OMC_FILE
5497  goto tmp2_done;
5498  }
5499  case 7: {
5500 
5501  /* Pattern matching succeeded */
5502 #line 5174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5503  tmpMeta[11] = mmc_mk_cons(_e, _equations);
5504 #line 5174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5505  _equations = tmpMeta[11];
5506 #line 5506 OMC_FILE
5507 #line 5507 OMC_FILE
5508  goto tmp2_done;
5509  }
5510  case 8: {
5511 
5512  /* Pattern matching succeeded */
5513 #line 5176 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5514  tmpMeta[11] = mmc_mk_cons(_e, _equations);
5515 #line 5176 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5516  _equations = tmpMeta[11];
5517 #line 5517 OMC_FILE
5518 #line 5518 OMC_FILE
5519  goto tmp2_done;
5520  }
5521  case 11: {
5522 
5523  /* Pattern matching succeeded */
5524 #line 5178 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5525  tmpMeta[11] = mmc_mk_cons(_e, _equations);
5526 #line 5178 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5527  _equations = tmpMeta[11];
5528 #line 5528 OMC_FILE
5529 #line 5529 OMC_FILE
5530  goto tmp2_done;
5531  }
5532  case 4: {
5533 
5534  /* Pattern matching succeeded */
5535 #line 5180 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5536  tmpMeta[11] = mmc_mk_cons(_e, _equations);
5537 #line 5180 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5538  _equations = tmpMeta[11];
5539 #line 5539 OMC_FILE
5540 #line 5540 OMC_FILE
5541  goto tmp2_done;
5542  }
5543  case 22: {
5544 
5545  /* Pattern matching succeeded */
5546 #line 5182 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5547  tmpMeta[11] = mmc_mk_cons(_e, _equations);
5548 #line 5182 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5549  _equations = tmpMeta[11];
5550 #line 5550 OMC_FILE
5551 #line 5551 OMC_FILE
5552  goto tmp2_done;
5553  }
5554  case 24: {
5555 
5556  /* Pattern matching succeeded */
5557 #line 5184 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5558  tmpMeta[11] = mmc_mk_cons(_e, _equations);
5559 #line 5184 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5560  _equations = tmpMeta[11];
5561 #line 5561 OMC_FILE
5562 #line 5562 OMC_FILE
5563  goto tmp2_done;
5564  }
5565  case 15: {
5566 
5567  /* Pattern matching succeeded */
5568 #line 5186 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5569  tmpMeta[11] = mmc_mk_cons(_e, _equations);
5570 #line 5186 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5571  _equations = tmpMeta[11];
5572 #line 5572 OMC_FILE
5573 #line 5573 OMC_FILE
5574  goto tmp2_done;
5575  }
5576  case 14: {
5577 
5578  /* Pattern matching succeeded */
5579 #line 5188 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5580  tmpMeta[11] = mmc_mk_cons(_e, _equations);
5581 #line 5188 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5582  _equations = tmpMeta[11];
5583 #line 5583 OMC_FILE
5584 #line 5584 OMC_FILE
5585  goto tmp2_done;
5586  }
5587  case 13: {
5588 
5589  /* Pattern matching succeeded */
5590 #line 5190 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5591  tmpMeta[11] = mmc_mk_cons(_e, _equations);
5592 #line 5190 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5593  _equations = tmpMeta[11];
5594 #line 5594 OMC_FILE
5595 #line 5595 OMC_FILE
5596  goto tmp2_done;
5597  }
5598  case 26: {
5599 
5600  /* Pattern matching succeeded */
5601 #line 5192 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5602  tmpMeta[11] = mmc_mk_cons(_e, _equations);
5603 #line 5192 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5604  _equations = tmpMeta[11];
5605 #line 5605 OMC_FILE
5606 #line 5606 OMC_FILE
5607  goto tmp2_done;
5608  }
5609  case 27: {
5610 
5611  /* Pattern matching succeeded */
5612 #line 5194 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5613  tmpMeta[11] = mmc_mk_cons(_e, _equations);
5614 #line 5194 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5615  _equations = tmpMeta[11];
5616 #line 5616 OMC_FILE
5617 #line 5617 OMC_FILE
5618  goto tmp2_done;
5619  }
5620  case 18: {
5621 
5622  /* Pattern matching succeeded */
5623 #line 5197 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5624  tmpMeta[11] = mmc_mk_cons(_e, _algorithms);
5625 #line 5197 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5626  _algorithms = tmpMeta[11];
5627 #line 5627 OMC_FILE
5628 #line 5628 OMC_FILE
5629  goto tmp2_done;
5630  }
5631  case 29: {
5632 
5633  /* Pattern matching succeeded */
5634 #line 5199 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5635  tmpMeta[11] = mmc_mk_cons(_e, _constraints);
5636 #line 5199 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5637  _constraints = tmpMeta[11];
5638 #line 5638 OMC_FILE
5639 #line 5639 OMC_FILE
5640  goto tmp2_done;
5641  }
5642  case 30: {
5643 
5644  /* Pattern matching succeeded */
5645 #line 5201 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5646  tmpMeta[11] = mmc_mk_cons(_e, _classAttributes);
5647 #line 5201 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5648  _classAttributes = tmpMeta[11];
5649 #line 5649 OMC_FILE
5650 #line 5650 OMC_FILE
5651  goto tmp2_done;
5652  }
5653  case 21: {
5654 
5655  /* Pattern matching succeeded */
5656 #line 5203 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5657  tmpMeta[11] = mmc_mk_cons(_e, _externalObjects);
5658 #line 5203 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5659  _externalObjects = tmpMeta[11];
5660 #line 5660 OMC_FILE
5661 #line 5661 OMC_FILE
5662  goto tmp2_done;
5663  }
5664  case 20: {
5665 
5666  /* Pattern matching succeeded */
5667 #line 5205 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5668  _variables = listAppend((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_e), 3))), _variables);
5669 #line 5669 OMC_FILE
5670 #line 5670 OMC_FILE
5671  goto tmp2_done;
5672  }
5673  case 31: {
5674 
5675  /* Pattern matching succeeded */
5676 #line 5208 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5677  tmpMeta[11] = mmc_mk_box5(20, &DAE_Element_COMP__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_e), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_e), 3))), _OMC_LIT48, _OMC_LIT52);
5678 #line 5208 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5679  _split_comp = omc_DAEUtil_splitComponent(threadData, tmpMeta[11]);
5680 #line 5680 OMC_FILE
5681 
5682 #line 5210 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5683  tmpMeta[11] = mmc_mk_cons(_split_comp, _stateMachineComps);
5684 #line 5210 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5685  _stateMachineComps = tmpMeta[11];
5686 #line 5686 OMC_FILE
5687 #line 5687 OMC_FILE
5688  goto tmp2_done;
5689  }
5690  case 32: {
5691 
5692  /* Pattern matching succeeded */
5693 #line 5215 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5694  tmpMeta[11] = mmc_mk_box5(20, &DAE_Element_COMP__desc, omc_ComponentReference_crefStr(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_e), 2)))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_e), 3))), _OMC_LIT48, _OMC_LIT56);
5695 #line 5215 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5696  _split_comp = omc_DAEUtil_splitComponent(threadData, tmpMeta[11]);
5697 #line 5697 OMC_FILE
5698 
5699 #line 5217 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5700  tmpMeta[11] = mmc_mk_cons(_split_comp, _stateMachineComps);
5701 #line 5217 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5702  _stateMachineComps = tmpMeta[11];
5703 #line 5703 OMC_FILE
5704 #line 5704 OMC_FILE
5705  goto tmp2_done;
5706  }
5707  case 33: {
5708 
5709  /* Pattern matching succeeded */
5710 #line 5222 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5711  tmpMeta[11] = mmc_mk_cons((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_e), 2))), _comments);
5712 #line 5222 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5713  _comments = tmpMeta[11];
5714 #line 5714 OMC_FILE
5715 #line 5715 OMC_FILE
5716  goto tmp2_done;
5717  }
5718  default:
5719  tmp2_default: OMC_LABEL_UNUSED; {
5720 
5721  /* Pattern matching succeeded */
5722 #line 5226 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5723  omc_Error_addInternalError(threadData, _OMC_LIT57, _OMC_LIT46);
5724 #line 5724 OMC_FILE
5725 #line 5227 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5726  goto goto_1;
5727 #line 5727 OMC_FILE
5728  goto tmp2_done;
5729  }
5730  }
5731  goto tmp2_end;
5732  tmp2_end: ;
5733  }
5734  goto goto_1;
5735  goto_1:;
5736  MMC_THROW_INTERNAL();
5737  goto tmp2_done;
5738  tmp2_done:;
5739  }
5740  }
5741  ;
5742  }
5743  }
5744 
5745 #line 5232 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5746  _variables = listReverse(_variables);
5747 #line 5747 OMC_FILE
5748 
5749 #line 5233 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5750  _initialEquations = listReverse(_initialEquations);
5751 #line 5751 OMC_FILE
5752 
5753 #line 5234 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5754  _initialAlgorithms = listReverse(_initialAlgorithms);
5755 #line 5755 OMC_FILE
5756 
5757 #line 5235 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5758  _equations = listReverse(_equations);
5759 #line 5759 OMC_FILE
5760 
5761 #line 5236 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5762  _algorithms = listReverse(_algorithms);
5763 #line 5763 OMC_FILE
5764 
5765 #line 5237 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5766  _classAttributes = listReverse(_classAttributes);
5767 #line 5767 OMC_FILE
5768 
5769 #line 5238 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5770  _constraints = listReverse(_constraints);
5771 #line 5771 OMC_FILE
5772 
5773 #line 5239 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5774  _externalObjects = listReverse(_externalObjects);
5775 #line 5775 OMC_FILE
5776 
5777 #line 5240 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
5778  _stateMachineComps = listReverse(_stateMachineComps);
5779 #line 5779 OMC_FILE
5780  _return: OMC_LABEL_UNUSED
5781  if (out_initialEquations) { *out_initialEquations = _initialEquations; }
5782  if (out_initialAlgorithms) { *out_initialAlgorithms = _initialAlgorithms; }
5783  if (out_equations) { *out_equations = _equations; }
5784  if (out_algorithms) { *out_algorithms = _algorithms; }
5785  if (out_classAttributes) { *out_classAttributes = _classAttributes; }
5786  if (out_constraints) { *out_constraints = _constraints; }
5787  if (out_externalObjects) { *out_externalObjects = _externalObjects; }
5788  if (out_stateMachineComps) { *out_stateMachineComps = _stateMachineComps; }
5789  if (out_comments) { *out_comments = _comments; }
5790  return _variables;
5791 }
DLLExport modelica_string omc_ComponentReference_crefStr(threadData_t *threadData, modelica_metatype _inComponentRef)
modelica_metatype listAppend(modelica_metatype, modelica_metatype)
DLLExport modelica_metatype omc_DAEUtil_splitComponent(threadData_t *threadData, modelica_metatype _component)
Definition: DAEUtil.c:5261
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_COMP__desc
Definition: DAE_records.c:1141
DLLExport void omc_Error_addInternalError(threadData_t *threadData, modelica_string _message, modelica_metatype _info)
Definition: Error.c:135
void * modelica_metatype
modelica_metatype listReverse(modelica_metatype)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the caller graph for this function:

◆ omc_DAEUtil_splitVariableNamed()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_splitVariableNamed ( threadData_t threadData,
modelica_metatype  _inElementLst,
modelica_string  _inName,
modelica_metatype  _inAccNamed,
modelica_metatype  _inAccRest,
modelica_metatype out_outRest 
)

Definition at line 2872 of file DAEUtil.c.

2873 {
2874  modelica_metatype _outNamed = NULL;
2875  modelica_metatype _outRest = NULL;
2876  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
2877  MMC_SO();
2878  _tailrecursive: OMC_LABEL_UNUSED
2879 #line 6008 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2880 
2881 #line 6008 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2882 
2883 #line 2883 OMC_FILE
2884  { /* match expression */
2886  tmp4_1 = _inElementLst;
2887  tmp4_2 = _inAccNamed;
2888  tmp4_3 = _inAccRest;
2889  {
2890  modelica_metatype _lst = NULL;
2891  modelica_metatype _accNamed = NULL;
2892  modelica_metatype _accRest = NULL;
2893  modelica_metatype _x = NULL;
2894  modelica_boolean _equal;
2895  modelica_metatype _cr = NULL;
2896  volatile mmc_switch_type tmp4;
2897  int tmp5;
2898  tmp4 = 0;
2899  for (; tmp4 < 3; tmp4++) {
2900  switch (MMC_SWITCH_CAST(tmp4)) {
2901  case 0: {
2902  if (!listEmpty(tmp4_1)) goto tmp3_end;
2903 
2904  /* Pattern matching succeeded */
2905 #line 6015 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2906  tmpMeta[0+0] = listReverse(_inAccNamed);
2907 #line 6015 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2908  tmpMeta[0+1] = listReverse(_inAccRest);
2909 #line 2909 OMC_FILE
2910  goto tmp3_done;
2911  }
2912  case 1: {
2913  if (listEmpty(tmp4_1)) goto tmp3_end;
2914  tmpMeta[2] = MMC_CAR(tmp4_1);
2915  tmpMeta[3] = MMC_CDR(tmp4_1);
2916  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,13) == 0) goto tmp3_end;
2917  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
2918 
2919  _x = tmpMeta[2];
2920  _cr = tmpMeta[4];
2921  _lst = tmpMeta[3];
2922  _accNamed = tmp4_2;
2923  _accRest = tmp4_3;
2924  /* Pattern matching succeeded */
2925 #line 6019 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2926  _equal = (stringEqual(omc_ComponentReference_crefFirstIdent(threadData, _cr), _inName));
2927 #line 2927 OMC_FILE
2928 
2929 #line 6020 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2930  _accNamed = omc_List_consOnTrue(threadData, _equal, _x, _accNamed);
2931 #line 2931 OMC_FILE
2932 
2933 #line 6021 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2934  _accRest = omc_List_consOnTrue(threadData, (!_equal), _x, _accRest);
2935 #line 2935 OMC_FILE
2936 #line 6022 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2937  /* Tail recursive call */
2938 #line 6022 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2939  _inElementLst = _lst;
2940 #line 6022 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2941  _inAccNamed = _accNamed;
2942 #line 6022 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2943  _inAccRest = _accRest;
2944 #line 6022 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2945  goto _tailrecursive;
2946 #line 6022 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2947  /* TODO: Make sure any eventual dead code below is never generated */
2948 #line 2948 OMC_FILE
2949  goto tmp3_done;
2950  }
2951  case 2: {
2952  if (listEmpty(tmp4_1)) goto tmp3_end;
2953  tmpMeta[2] = MMC_CAR(tmp4_1);
2954  tmpMeta[3] = MMC_CDR(tmp4_1);
2955 
2956  _x = tmpMeta[2];
2957  _lst = tmpMeta[3];
2958  _accNamed = tmp4_2;
2959  _accRest = tmp4_3;
2960  /* Pattern matching succeeded */
2961 #line 6028 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2962  tmpMeta[2] = mmc_mk_cons(_x, _accRest);
2963 #line 6028 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2964  /* Tail recursive call */
2965 #line 6028 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2966  _inElementLst = _lst;
2967 #line 6028 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2968  _inAccNamed = _accNamed;
2969 #line 6028 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2970  _inAccRest = tmpMeta[2];
2971 #line 6028 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2972  goto _tailrecursive;
2973 #line 6028 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2974  /* TODO: Make sure any eventual dead code below is never generated */
2975 #line 2975 OMC_FILE
2976  goto tmp3_done;
2977  }
2978  }
2979  goto tmp3_end;
2980  tmp3_end: ;
2981  }
2982  goto goto_2;
2983  goto_2:;
2984  MMC_THROW_INTERNAL();
2985  goto tmp3_done;
2986  tmp3_done:;
2987  }
2988  }
2989  _outNamed = tmpMeta[0+0];
2990  _outRest = tmpMeta[0+1];
2991  _return: OMC_LABEL_UNUSED
2992  if (out_outRest) { *out_outRest = _outRest; }
2993  return _outNamed;
2994 }
DLLExport modelica_string omc_ComponentReference_crefFirstIdent(threadData_t *threadData, modelica_metatype _inComponentRef)
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_metatype omc_List_consOnTrue(threadData_t *threadData, modelica_boolean _inCondition, modelica_metatype _inElement, modelica_metatype _inList)
Definition: List.c:18180
void * modelica_metatype
modelica_metatype listReverse(modelica_metatype)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_statementsContainReturn()

DLLExport modelica_boolean omc_DAEUtil_statementsContainReturn ( threadData_t threadData,
modelica_metatype  _stmts 
)

Definition at line 2256 of file DAEUtil.c.

2257 {
2258  modelica_boolean _b;
2259  modelica_integer tmp1;
2260  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2261  MMC_SO();
2262  _tailrecursive: OMC_LABEL_UNUSED
2263 #line 6185 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2264  /* Pattern-matching tuple assignment, wild first pattern */
2265 #line 6185 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2266  omc_DAEUtil_traverseDAEStmts(threadData, _stmts, boxvar_DAEUtil_statementsContainReturn2, mmc_mk_boolean(0), &tmpMeta[0]);
2267 #line 6185 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2268  tmp1 = mmc_unbox_integer(tmpMeta[0]);
2269 #line 6185 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2270  _b = tmp1 /* pattern as ty=Boolean */;
2271 #line 2271 OMC_FILE
2272  _return: OMC_LABEL_UNUSED
2273  return _b;
2274 }
m_integer modelica_integer
signed char modelica_boolean
DLLExport modelica_metatype omc_DAEUtil_traverseDAEStmts(threadData_t *threadData, modelica_metatype _inStmts, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:6840
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_statementsContainReturn2()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_statementsContainReturn2 ( threadData_t threadData,
modelica_metatype  _inExp,
modelica_metatype  _inStmt,
modelica_boolean  _b,
modelica_boolean out_ob 
)

Definition at line 2086 of file DAEUtil.c.

2087 {
2088  modelica_metatype _outExp = NULL;
2089  modelica_boolean _ob;
2090  modelica_boolean tmp1 = 0;
2091  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
2092  MMC_SO();
2093  _tailrecursive: OMC_LABEL_UNUSED
2094  _outExp = _inExp;
2095  _ob = _b;
2096 #line 6204 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2097  if((!_b))
2098 #line 6204 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2099  {
2100 #line 2100 OMC_FILE
2101  { /* match expression */
2102  modelica_metatype tmp4_1;
2103  tmp4_1 = _inStmt;
2104  {
2105  volatile mmc_switch_type tmp4;
2106  int tmp5;
2107  tmp4 = 0;
2108  for (; tmp4 < 2; tmp4++) {
2109  switch (MMC_SWITCH_CAST(tmp4)) {
2110  case 0: {
2111  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,12,1) == 0) goto tmp3_end;
2112 
2113  /* Pattern matching succeeded */
2114 #line 6206 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2115  tmp1 = 1;
2116 #line 2116 OMC_FILE
2117  goto tmp3_done;
2118  }
2119  case 1: {
2120  modelica_boolean tmp6 = 0;
2121 
2122  /* Pattern matching succeeded */
2123 #line 2123 OMC_FILE
2124  { /* match expression */
2125  modelica_metatype tmp9_1;
2126  tmp9_1 = _inExp;
2127  {
2128  modelica_metatype _cases = NULL;
2129  modelica_metatype _body = NULL;
2130  volatile mmc_switch_type tmp9;
2131  int tmp10;
2132  tmp9 = 0;
2133  for (; tmp9 < 2; tmp9++) {
2134  switch (MMC_SWITCH_CAST(tmp9)) {
2135  case 0: {
2136  if (mmc__uniontype__metarecord__typedef__equal(tmp9_1,33,6) == 0) goto tmp8_end;
2137  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp9_1), 6));
2138 
2139  _cases = tmpMeta[0];
2140  /* Pattern matching succeeded */
2141 #line 6213 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2142  {
2143 #line 6213 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2144  modelica_metatype _c;
2145 #line 6213 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2146  for (tmpMeta[0] = _cases; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
2147 #line 6213 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2148  {
2149 #line 6213 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2150  _c = MMC_CAR(tmpMeta[0]);
2151 #line 6214 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2152  if((!_ob))
2153 #line 6214 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2154  {
2155 #line 6215 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2156  /* Pattern-matching assignment */
2157 #line 6215 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2158  tmpMeta[1] = _c;
2159 #line 6215 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2160  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
2161 #line 6215 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2162  _body = tmpMeta[2];
2163 #line 2163 OMC_FILE
2164 
2165 #line 6216 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2166  _ob = omc_DAEUtil_statementsContainReturn(threadData, _body);
2167 #line 2167 OMC_FILE
2168  }
2169  }
2170  }
2171 #line 6219 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2172  tmp6 = _ob;
2173 #line 2173 OMC_FILE
2174  goto tmp8_done;
2175  }
2176  case 1: {
2177 
2178  /* Pattern matching succeeded */
2179 #line 6220 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2180  tmp6 = 0;
2181 #line 2181 OMC_FILE
2182  goto tmp8_done;
2183  }
2184  }
2185  goto tmp8_end;
2186  tmp8_end: ;
2187  }
2188  goto goto_7;
2189  goto_7:;
2190  goto goto_2;
2191  goto tmp8_done;
2192  tmp8_done:;
2193  }
2194  }tmp1 = tmp6;
2195  goto tmp3_done;
2196  }
2197  }
2198  goto tmp3_end;
2199  tmp3_end: ;
2200  }
2201  goto goto_2;
2202  goto_2:;
2203  MMC_THROW_INTERNAL();
2204  goto tmp3_done;
2205  tmp3_done:;
2206  }
2207  }
2208  _ob = tmp1;
2209  }
2210  _return: OMC_LABEL_UNUSED
2211  if (out_ob) { *out_ob = _ob; }
2212  return _outExp;
2213 }
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_boolean omc_DAEUtil_statementsContainReturn(threadData_t *threadData, modelica_metatype _stmts)
Definition: DAEUtil.c:2256
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_statementsContainTryBlock()

DLLExport modelica_boolean omc_DAEUtil_statementsContainTryBlock ( threadData_t threadData,
modelica_metatype  _stmts 
)

Definition at line 2227 of file DAEUtil.c.

2228 {
2229  modelica_boolean _b;
2230  modelica_integer tmp1;
2231  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2232  MMC_SO();
2233  _tailrecursive: OMC_LABEL_UNUSED
2234 #line 6192 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2235  /* Pattern-matching tuple assignment, wild first pattern */
2236 #line 6192 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2237  omc_DAEUtil_traverseDAEStmts(threadData, _stmts, boxvar_DAEUtil_statementsContainTryBlock2, mmc_mk_boolean(0), &tmpMeta[0]);
2238 #line 6192 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2239  tmp1 = mmc_unbox_integer(tmpMeta[0]);
2240 #line 6192 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2241  _b = tmp1 /* pattern as ty=Boolean */;
2242 #line 2242 OMC_FILE
2243  _return: OMC_LABEL_UNUSED
2244  return _b;
2245 }
m_integer modelica_integer
signed char modelica_boolean
DLLExport modelica_metatype omc_DAEUtil_traverseDAEStmts(threadData_t *threadData, modelica_metatype _inStmts, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:6840
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_statementsContainTryBlock2()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_statementsContainTryBlock2 ( threadData_t threadData,
modelica_metatype  _inExp,
modelica_metatype  _inStmt,
modelica_boolean  _b,
modelica_boolean out_ob 
)

Definition at line 2014 of file DAEUtil.c.

2015 {
2016  modelica_metatype _outExp = NULL;
2017  modelica_boolean _ob;
2018  modelica_boolean tmp1 = 0;
2019  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2020  MMC_SO();
2021  _tailrecursive: OMC_LABEL_UNUSED
2022  _outExp = _inExp;
2023  _ob = _b;
2024 #line 6233 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2025  if((!_b))
2026 #line 6233 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2027  {
2028 #line 2028 OMC_FILE
2029  { /* match expression */
2030  modelica_metatype tmp4_1;
2031  tmp4_1 = _inExp;
2032  {
2033  volatile mmc_switch_type tmp4;
2034  int tmp5;
2035  tmp4 = 0;
2036  for (; tmp4 < 2; tmp4++) {
2037  switch (MMC_SWITCH_CAST(tmp4)) {
2038  case 0: {
2039  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,33,6) == 0) goto tmp3_end;
2040  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
2041  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,0) == 0) goto tmp3_end;
2042 
2043  /* Pattern matching succeeded */
2044 #line 6235 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2045  tmp1 = 1;
2046 #line 2046 OMC_FILE
2047  goto tmp3_done;
2048  }
2049  case 1: {
2050 
2051  /* Pattern matching succeeded */
2052 #line 6236 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2053  tmp1 = 0;
2054 #line 2054 OMC_FILE
2055  goto tmp3_done;
2056  }
2057  }
2058  goto tmp3_end;
2059  tmp3_end: ;
2060  }
2061  goto goto_2;
2062  goto_2:;
2063  MMC_THROW_INTERNAL();
2064  goto tmp3_done;
2065  tmp3_done:;
2066  }
2067  }
2068  _ob = tmp1;
2069  }
2070  _return: OMC_LABEL_UNUSED
2071  if (out_ob) { *out_ob = _ob; }
2072  return _outExp;
2073 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_streamBool()

DLLExport modelica_boolean omc_DAEUtil_streamBool ( threadData_t threadData,
modelica_metatype  _inStream 
)

Definition at line 1333 of file DAEUtil.c.

1334 {
1335  modelica_boolean _bStream;
1336  modelica_boolean tmp1 = 0;
1337  MMC_SO();
1338  _tailrecursive: OMC_LABEL_UNUSED
1339 #line 1339 OMC_FILE
1340  { /* match expression */
1341  modelica_metatype tmp4_1;
1342  tmp4_1 = _inStream;
1343  {
1344  volatile mmc_switch_type tmp4;
1345  int tmp5;
1346  tmp4 = 0;
1347  for (; tmp4 < 2; tmp4++) {
1348  switch (MMC_SWITCH_CAST(tmp4)) {
1349  case 0: {
1350  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,1) == 0) goto tmp3_end;
1351 
1352  /* Pattern matching succeeded */
1353 #line 6448 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1354  tmp1 = 1;
1355 #line 1355 OMC_FILE
1356  goto tmp3_done;
1357  }
1358  case 1: {
1359 
1360  /* Pattern matching succeeded */
1361 #line 6449 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1362  tmp1 = 0;
1363 #line 1363 OMC_FILE
1364  goto tmp3_done;
1365  }
1366  }
1367  goto tmp3_end;
1368  tmp3_end: ;
1369  }
1370  goto goto_2;
1371  goto_2:;
1372  MMC_THROW_INTERNAL();
1373  goto tmp3_done;
1374  tmp3_done:;
1375  }
1376  }
1377  _bStream = tmp1;
1378  _return: OMC_LABEL_UNUSED
1379  return _bStream;
1380 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_toConnectorType()

DLLExport modelica_metatype omc_DAEUtil_toConnectorType ( threadData_t threadData,
modelica_metatype  _inConnectorType,
modelica_metatype  _inState 
)

Definition at line 17998 of file DAEUtil.c.

17999 {
18000  modelica_metatype _outConnectorType = NULL;
18001  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
18002  MMC_SO();
18003  _tailrecursive: OMC_LABEL_UNUSED
18004 #line 18004 OMC_FILE
18005  { /* match expression */
18006  modelica_metatype tmp3_1;modelica_metatype tmp3_2;
18007  tmp3_1 = _inConnectorType;
18008  tmp3_2 = _inState;
18009  {
18010  volatile mmc_switch_type tmp3;
18011  int tmp4;
18012  tmp3 = 0;
18013  for (; tmp3 < 4; tmp3++) {
18014  switch (MMC_SWITCH_CAST(tmp3)) {
18015  case 0: {
18016  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,0) == 0) goto tmp2_end;
18017 
18018  /* Pattern matching succeeded */
18019 #line 2041 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18020  tmpMeta[0] = _OMC_LIT142;
18021 #line 18021 OMC_FILE
18022  goto tmp2_done;
18023  }
18024  case 1: {
18025  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,2,0) == 0) goto tmp2_end;
18026 
18027  /* Pattern matching succeeded */
18028 #line 2042 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18029  tmpMeta[0] = _OMC_LIT144;
18030 #line 18030 OMC_FILE
18031  goto tmp2_done;
18032  }
18033  case 2: {
18034  if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,2) == 0) goto tmp2_end;
18035 
18036  /* Pattern matching succeeded */
18037 #line 2043 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18038  tmpMeta[0] = _OMC_LIT143;
18039 #line 18039 OMC_FILE
18040  goto tmp2_done;
18041  }
18042  case 3: {
18043 
18044  /* Pattern matching succeeded */
18045 #line 2044 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
18046  tmpMeta[0] = _OMC_LIT17;
18047 #line 18047 OMC_FILE
18048  goto tmp2_done;
18049  }
18050  }
18051  goto tmp2_end;
18052  tmp2_end: ;
18053  }
18054  goto goto_1;
18055  goto_1:;
18056  MMC_THROW_INTERNAL();
18057  goto tmp2_done;
18058  tmp2_done:;
18059  }
18060  }
18061  _outConnectorType = tmpMeta[0];
18062  _return: OMC_LABEL_UNUSED
18063  return _outConnectorType;
18064 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_toConnectorTypeNoState()

DLLExport modelica_metatype omc_DAEUtil_toConnectorTypeNoState ( threadData_t threadData,
modelica_metatype  _scodeConnectorType,
modelica_metatype  _flowName 
)

Definition at line 17940 of file DAEUtil.c.

17941 {
17942  modelica_metatype _daeConnectorType = NULL;
17943  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
17944  MMC_SO();
17945  _tailrecursive: OMC_LABEL_UNUSED
17946 #line 17946 OMC_FILE
17947  { /* match expression */
17948  modelica_metatype tmp3_1;
17949  tmp3_1 = _scodeConnectorType;
17950  {
17951  int tmp3;
17952  {
17953  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
17954  case 4: {
17955 
17956  /* Pattern matching succeeded */
17957 #line 2054 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17958  tmpMeta[0] = _OMC_LIT142;
17959 #line 17959 OMC_FILE
17960  goto tmp2_done;
17961  }
17962  case 5: {
17963 
17964  /* Pattern matching succeeded */
17965 #line 2055 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17966  tmpMeta[1] = mmc_mk_box2(5, &DAE_ConnectorType_STREAM__desc, _flowName);
17967 #line 2055 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17968  tmpMeta[0] = tmpMeta[1];
17969 #line 17969 OMC_FILE
17970  goto tmp2_done;
17971  }
17972  default:
17973  tmp2_default: OMC_LABEL_UNUSED; {
17974 
17975  /* Pattern matching succeeded */
17976 #line 2056 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17977  tmpMeta[0] = _OMC_LIT143;
17978 #line 17978 OMC_FILE
17979  goto tmp2_done;
17980  }
17981  }
17982  goto tmp2_end;
17983  tmp2_end: ;
17984  }
17985  goto goto_1;
17986  goto_1:;
17987  MMC_THROW_INTERNAL();
17988  goto tmp2_done;
17989  tmp2_done:;
17990  }
17991  }
17992  _daeConnectorType = tmpMeta[0];
17993  _return: OMC_LABEL_UNUSED
17994  return _daeConnectorType;
17995 }
ADD_METARECORD_DEFINITIONS struct record_description DAE_ConnectorType_STREAM__desc
Definition: DAE_records.c:140
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_toDAEInnerOuter()

DLLExport modelica_metatype omc_DAEUtil_toDAEInnerOuter ( threadData_t threadData,
modelica_metatype  _ioIn 
)

Definition at line 2478 of file DAEUtil.c.

2479 {
2480  modelica_metatype _ioOut = NULL;
2481  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2482  MMC_SO();
2483  _tailrecursive: OMC_LABEL_UNUSED
2484 #line 2484 OMC_FILE
2485  { /* match expression */
2486  modelica_metatype tmp3_1;
2487  tmp3_1 = _ioIn;
2488  {
2489  int tmp3;
2490  {
2491  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
2492  case 3: {
2493 
2494  /* Pattern matching succeeded */
2495 #line 6124 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2496  tmpMeta[0] = _OMC_LIT13;
2497 #line 2497 OMC_FILE
2498  goto tmp2_done;
2499  }
2500  case 4: {
2501 
2502  /* Pattern matching succeeded */
2503 #line 6125 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2504  tmpMeta[0] = _OMC_LIT14;
2505 #line 2505 OMC_FILE
2506  goto tmp2_done;
2507  }
2508  case 5: {
2509 
2510  /* Pattern matching succeeded */
2511 #line 6126 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2512  tmpMeta[0] = _OMC_LIT15;
2513 #line 2513 OMC_FILE
2514  goto tmp2_done;
2515  }
2516  case 6: {
2517 
2518  /* Pattern matching succeeded */
2519 #line 6127 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
2520  tmpMeta[0] = _OMC_LIT16;
2521 #line 2521 OMC_FILE
2522  goto tmp2_done;
2523  }
2524  }
2525  goto tmp2_end;
2526  tmp2_end: ;
2527  }
2528  goto goto_1;
2529  goto_1:;
2530  MMC_THROW_INTERNAL();
2531  goto tmp2_done;
2532  tmp2_done:;
2533  }
2534  }
2535  _ioOut = tmpMeta[0];
2536  _return: OMC_LABEL_UNUSED
2537  return _ioOut;
2538 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_toDaeParallelism()

DLLExport modelica_metatype omc_DAEUtil_toDaeParallelism ( threadData_t threadData,
modelica_metatype  _inCref,
modelica_metatype  _inParallelism,
modelica_metatype  _inState,
modelica_metatype  _inInfo 
)

Definition at line 17801 of file DAEUtil.c.

17802 {
17803  modelica_metatype _outParallelism = NULL;
17804  modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
17805  MMC_SO();
17806  _tailrecursive: OMC_LABEL_UNUSED
17807 #line 17807 OMC_FILE
17808  { /* matchcontinue expression */
17809  volatile modelica_metatype tmp3_1;volatile modelica_metatype tmp3_2;
17810  tmp3_1 = _inParallelism;
17811  tmp3_2 = _inState;
17812  {
17813  modelica_string _str1 = NULL;
17814  modelica_metatype _path = NULL;
17815  volatile mmc_switch_type tmp3;
17816  int tmp4;
17817  tmp3 = 0;
17818  MMC_TRY_INTERNAL(mmc_jumper)
17819  tmp2_top:
17820  threadData->mmc_jumper = &new_mmc_jumper;
17821  for (; tmp3 < 5; tmp3++) {
17822  switch (MMC_SWITCH_CAST(tmp3)) {
17823  case 0: {
17824  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,2,0) == 0) goto tmp2_end;
17825 
17826  tmp3 += 4; /* Pattern matching succeeded; we may skip some cases if we fail */
17827 #line 2074 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17828  tmpMeta[0] = _OMC_LIT131;
17829 #line 17829 OMC_FILE
17830  goto tmp2_done;
17831  }
17832  case 1: {
17833  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,0) == 0) goto tmp2_end;
17834  if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,8,2) == 0) goto tmp2_end;
17835 
17836  tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
17837 #line 2077 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17838  tmpMeta[0] = _OMC_LIT132;
17839 #line 17839 OMC_FILE
17840  goto tmp2_done;
17841  }
17842  case 2: {
17843  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,0) == 0) goto tmp2_end;
17844  if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,8,2) == 0) goto tmp2_end;
17845 
17846  tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
17847 #line 2078 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17848  tmpMeta[0] = _OMC_LIT133;
17849 #line 17849 OMC_FILE
17850  goto tmp2_done;
17851  }
17852  case 3: {
17853  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,0) == 0) goto tmp2_end;
17854 
17855  tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
17856 #line 2083 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17857  _path = omc_ClassInf_getStateName(threadData, _inState);
17858 #line 17858 OMC_FILE
17859 
17860 #line 2084 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17861  tmpMeta[1] = stringAppend(_OMC_LIT134,omc_ComponentReference_printComponentRefStr(threadData, _inCref));
17862 #line 2084 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17863  tmpMeta[2] = stringAppend(tmpMeta[1],_OMC_LIT135);
17864 #line 2084 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17865  tmpMeta[3] = stringAppend(tmpMeta[2],omc_ClassInf_printStateStr(threadData, _inState));
17866 #line 2084 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17867  tmpMeta[4] = stringAppend(tmpMeta[3],_OMC_LIT136);
17868 #line 2084 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17869  tmpMeta[5] = stringAppend(tmpMeta[4],omc_Absyn_pathString(threadData, _path, _OMC_LIT29, 1, 0));
17870 #line 2084 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17871  _str1 = tmpMeta[5];
17872 #line 17872 OMC_FILE
17873 
17874 #line 2088 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17875  tmpMeta[1] = mmc_mk_cons(_str1, MMC_REFSTRUCTLIT(mmc_nil));
17876 #line 2088 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17877  omc_Error_addSourceMessage(threadData, _OMC_LIT140, tmpMeta[1], _inInfo);
17878 #line 17878 OMC_FILE
17879 #line 2090 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17880  tmpMeta[0] = _OMC_LIT132;
17881 #line 17881 OMC_FILE
17882  goto tmp2_done;
17883  }
17884  case 4: {
17885  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,0) == 0) goto tmp2_end;
17886 
17887  /* Pattern matching succeeded */
17888 #line 2094 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17889  _path = omc_ClassInf_getStateName(threadData, _inState);
17890 #line 17890 OMC_FILE
17891 
17892 #line 2095 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17893  tmpMeta[1] = stringAppend(_OMC_LIT141,omc_ComponentReference_printComponentRefStr(threadData, _inCref));
17894 #line 2095 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17895  tmpMeta[2] = stringAppend(tmpMeta[1],_OMC_LIT135);
17896 #line 2095 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17897  tmpMeta[3] = stringAppend(tmpMeta[2],omc_ClassInf_printStateStr(threadData, _inState));
17898 #line 2095 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17899  tmpMeta[4] = stringAppend(tmpMeta[3],_OMC_LIT136);
17900 #line 2095 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17901  tmpMeta[5] = stringAppend(tmpMeta[4],omc_Absyn_pathString(threadData, _path, _OMC_LIT29, 1, 0));
17902 #line 2095 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17903  _str1 = tmpMeta[5];
17904 #line 17904 OMC_FILE
17905 
17906 #line 2099 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17907  tmpMeta[1] = mmc_mk_cons(_str1, MMC_REFSTRUCTLIT(mmc_nil));
17908 #line 2099 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17909  omc_Error_addSourceMessage(threadData, _OMC_LIT140, tmpMeta[1], _inInfo);
17910 #line 17910 OMC_FILE
17911 #line 2101 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17912  tmpMeta[0] = _OMC_LIT133;
17913 #line 17913 OMC_FILE
17914  goto tmp2_done;
17915  }
17916  }
17917  goto tmp2_end;
17918  tmp2_end: ;
17919  }
17920  goto goto_1;
17921  tmp2_done:
17922  (void)tmp3;
17923  MMC_RESTORE_INTERNAL(mmc_jumper);
17924  goto tmp2_done2;
17925  goto_1:;
17926  MMC_CATCH_INTERNAL(mmc_jumper);
17927  if (++tmp3 < 5) {
17928  goto tmp2_top;
17929  }
17930  MMC_THROW_INTERNAL();
17931  tmp2_done2:;
17932  }
17933  }
17934  _outParallelism = tmpMeta[0];
17935  _return: OMC_LABEL_UNUSED
17936  return _outParallelism;
17937 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
modelica_metatype modelica_string
DLLExport modelica_metatype omc_ClassInf_getStateName(threadData_t *threadData, modelica_metatype _inState)
Definition: ClassInf.c:2503
float mmc_switch_type
DLLExport modelica_string omc_ClassInf_printStateStr(threadData_t *threadData, modelica_metatype _inState)
Definition: ClassInf.c:3082
DLLExport void omc_Error_addSourceMessage(threadData_t *threadData, modelica_metatype _inErrorMsg, modelica_metatype _inMessageTokens, modelica_metatype _inInfo)
Definition: Error.c:990
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport modelica_string omc_ComponentReference_printComponentRefStr(threadData_t *threadData, modelica_metatype _inComponentRef)
void * modelica_metatype
void *(* omc_Absyn_pathString)(threadData_t *, void *, void *, int, int)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the caller graph for this function:

◆ omc_DAEUtil_toModelicaForm()

DLLExport modelica_metatype omc_DAEUtil_toModelicaForm ( threadData_t threadData,
modelica_metatype  _inDAElist 
)

Definition at line 17020 of file DAEUtil.c.

17021 {
17022  modelica_metatype _outDAElist = NULL;
17023  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
17024  MMC_SO();
17025  _tailrecursive: OMC_LABEL_UNUSED
17026 #line 17026 OMC_FILE
17027  { /* match expression */
17028  modelica_metatype tmp3_1;
17029  tmp3_1 = _inDAElist;
17030  {
17031  modelica_metatype _elts_1 = NULL;
17032  modelica_metatype _elts = NULL;
17033  volatile mmc_switch_type tmp3;
17034  int tmp4;
17035  tmp3 = 0;
17036  for (; tmp3 < 1; tmp3++) {
17037  switch (MMC_SWITCH_CAST(tmp3)) {
17038  case 0: {
17039  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
17040  _elts = tmpMeta[1];
17041  /* Pattern matching succeeded */
17042 #line 2305 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17043  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
17044 #line 17044 OMC_FILE
17045 #line 2306 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17046  tmpMeta[1] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _elts_1);
17047 #line 2306 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
17048  tmpMeta[0] = tmpMeta[1];
17049 #line 17049 OMC_FILE
17050  goto tmp2_done;
17051  }
17052  }
17053  goto tmp2_end;
17054  tmp2_end: ;
17055  }
17056  goto goto_1;
17057  goto_1:;
17058  MMC_THROW_INTERNAL();
17059  goto tmp2_done;
17060  tmp2_done:;
17061  }
17062  }
17063  _outDAElist = tmpMeta[0];
17064  _return: OMC_LABEL_UNUSED
17065  return _outDAElist;
17066 }
float mmc_switch_type
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormElts(threadData_t *threadData, modelica_metatype _inElementLst)
Definition: DAEUtil.c:16233
struct record_description DAE_DAElist_DAE__desc
Definition: DAE_records.c:2591
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_toModelicaFormCref()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormCref ( threadData_t threadData,
modelica_metatype  _cr 
)

Definition at line 15835 of file DAEUtil.c.

15836 {
15837  modelica_metatype _outComponentRef = NULL;
15838  modelica_string _str = NULL;
15839  modelica_string _str_1 = NULL;
15840  modelica_metatype _ty = NULL;
15841  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
15842  MMC_SO();
15843  _tailrecursive: OMC_LABEL_UNUSED
15844 #line 2628 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15845  _str = omc_ComponentReference_printComponentRefStr(threadData, _cr);
15846 #line 15846 OMC_FILE
15847 
15848 #line 2629 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15849  _ty = omc_ComponentReference_crefLastType(threadData, _cr);
15850 #line 15850 OMC_FILE
15851 
15852 #line 2630 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15853  _str_1 = omc_Util_stringReplaceChar(threadData, _str, _OMC_LIT29, _OMC_LIT127);
15854 #line 15854 OMC_FILE
15855 
15856 #line 2631 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15857  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
15858 #line 2631 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15859  _outComponentRef = omc_ComponentReference_makeCrefIdent(threadData, _str_1, _ty, tmpMeta[0]);
15860 #line 15860 OMC_FILE
15861  _return: OMC_LABEL_UNUSED
15862  return _outComponentRef;
15863 }
DLLExport modelica_string omc_Util_stringReplaceChar(threadData_t *threadData, modelica_string _inString1, modelica_string _inString2, modelica_string _inString3)
Definition: Util.c:4532
modelica_metatype modelica_string
DLLExport modelica_metatype omc_ComponentReference_makeCrefIdent(threadData_t *threadData, modelica_string _ident, modelica_metatype _identType, modelica_metatype _subscriptLst)
DLLExport modelica_string omc_ComponentReference_printComponentRefStr(threadData_t *threadData, modelica_metatype _inComponentRef)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_ComponentReference_crefLastType(threadData_t *threadData, modelica_metatype _inRef)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_toModelicaFormElts()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormElts ( threadData_t threadData,
modelica_metatype  _inElementLst 
)

Definition at line 16233 of file DAEUtil.c.

16234 {
16235  modelica_metatype _outElementLst = NULL;
16236  modelica_metatype tmpMeta[16] __attribute__((unused)) = {0};
16237  MMC_SO();
16238  _tailrecursive: OMC_LABEL_UNUSED
16239 #line 16239 OMC_FILE
16240  { /* match expression */
16241  modelica_metatype tmp3_1;
16242  tmp3_1 = _inElementLst;
16243  {
16244  modelica_string _str = NULL;
16245  modelica_string _str_1 = NULL;
16246  modelica_string _id = NULL;
16247  modelica_metatype _elts_1 = NULL;
16248  modelica_metatype _elts = NULL;
16249  modelica_metatype _welts_1 = NULL;
16250  modelica_metatype _welts = NULL;
16251  modelica_metatype _eelts_1 = NULL;
16252  modelica_metatype _eelts = NULL;
16253  modelica_metatype _elts2 = NULL;
16254  modelica_metatype _d_1 = NULL;
16255  modelica_metatype _d = NULL;
16256  modelica_metatype _cr = NULL;
16257  modelica_metatype _cr_1 = NULL;
16258  modelica_metatype _cref_ = NULL;
16259  modelica_metatype _cr1 = NULL;
16260  modelica_metatype _cr2 = NULL;
16261  modelica_metatype _ty = NULL;
16262  modelica_metatype _a = NULL;
16263  modelica_metatype _b = NULL;
16264  modelica_metatype _prl = NULL;
16265  modelica_metatype _t = NULL;
16266  modelica_metatype _instDim = NULL;
16267  modelica_metatype _ct = NULL;
16268  modelica_metatype _elt_1 = NULL;
16269  modelica_metatype _elt = NULL;
16270  modelica_metatype _prot = NULL;
16271  modelica_metatype _dae_var_attr = NULL;
16272  modelica_metatype _comment = NULL;
16273  modelica_metatype _e_1 = NULL;
16274  modelica_metatype _e1_1 = NULL;
16275  modelica_metatype _e2_1 = NULL;
16276  modelica_metatype _e1 = NULL;
16277  modelica_metatype _e2 = NULL;
16278  modelica_metatype _e_2 = NULL;
16279  modelica_metatype _e = NULL;
16280  modelica_metatype _e3 = NULL;
16281  modelica_metatype _e_3 = NULL;
16282  modelica_metatype _io = NULL;
16283  modelica_metatype _conds = NULL;
16284  modelica_metatype _conds_1 = NULL;
16285  modelica_metatype _trueBranches = NULL;
16286  modelica_metatype _trueBranches_1 = NULL;
16287  modelica_metatype _source = NULL;
16288  modelica_metatype _alg = NULL;
16289  volatile mmc_switch_type tmp3;
16290  int tmp4;
16291  tmp3 = 0;
16292  for (; tmp3 < 20; tmp3++) {
16293  switch (MMC_SWITCH_CAST(tmp3)) {
16294  case 0: {
16295  if (!listEmpty(tmp3_1)) goto tmp2_end;
16296  /* Pattern matching succeeded */
16297 #line 2344 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16298  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
16299 #line 2344 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16300  tmpMeta[0] = tmpMeta[1];
16301 #line 16301 OMC_FILE
16302  goto tmp2_done;
16303  }
16304  case 1: {
16305  if (listEmpty(tmp3_1)) goto tmp2_end;
16306  tmpMeta[1] = MMC_CAR(tmp3_1);
16307  tmpMeta[2] = MMC_CDR(tmp3_1);
16308  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,13) == 0) goto tmp2_end;
16309  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16310  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16311  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16312  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
16313  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 6));
16314  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7));
16315  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 8));
16316  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 9));
16317  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 10));
16318  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 11));
16319  tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 12));
16320  tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 13));
16321  tmpMeta[15] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 14));
16322  _cr = tmpMeta[3];
16323  _a = tmpMeta[4];
16324  _b = tmpMeta[5];
16325  _prl = tmpMeta[6];
16326  _prot = tmpMeta[7];
16327  _t = tmpMeta[8];
16328  _d = tmpMeta[9];
16329  _instDim = tmpMeta[10];
16330  _ct = tmpMeta[11];
16331  _source = tmpMeta[12];
16332  _dae_var_attr = tmpMeta[13];
16333  _comment = tmpMeta[14];
16334  _io = tmpMeta[15];
16335  _elts = tmpMeta[2];
16336  /* Pattern matching succeeded */
16337 #line 2359 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16338  _str = omc_ComponentReference_printComponentRefStr(threadData, _cr);
16339 #line 16339 OMC_FILE
16340 
16341 #line 2360 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16342  _str_1 = omc_Util_stringReplaceChar(threadData, _str, _OMC_LIT29, _OMC_LIT127);
16343 #line 16343 OMC_FILE
16344 
16345 #line 2361 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16346  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16347 #line 16347 OMC_FILE
16348 
16349 #line 2362 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16350  _d_1 = omc_DAEUtil_toModelicaFormExpOpt(threadData, _d);
16351 #line 16351 OMC_FILE
16352 
16353 #line 2363 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16354  _ty = omc_ComponentReference_crefLastType(threadData, _cr);
16355 #line 16355 OMC_FILE
16356 
16357 #line 2364 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16358  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
16359 #line 2364 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16360  _cref_ = omc_ComponentReference_makeCrefIdent(threadData, _str_1, _ty, tmpMeta[1]);
16361 #line 16361 OMC_FILE
16362 #line 2365 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16363  tmpMeta[2] = mmc_mk_box14(3, &DAE_Element_VAR__desc, _cref_, _a, _b, _prl, _prot, _t, _d_1, _instDim, _ct, _source, _dae_var_attr, _comment, _io);
16364 #line 2365 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16365  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16366 #line 2365 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16367  tmpMeta[0] = tmpMeta[1];
16368 #line 16368 OMC_FILE
16369  goto tmp2_done;
16370  }
16371  case 2: {
16372  if (listEmpty(tmp3_1)) goto tmp2_end;
16373  tmpMeta[1] = MMC_CAR(tmp3_1);
16374  tmpMeta[2] = MMC_CDR(tmp3_1);
16375  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,3) == 0) goto tmp2_end;
16376  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16377  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16378  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16379  _cr = tmpMeta[3];
16380  _e = tmpMeta[4];
16381  _source = tmpMeta[5];
16382  _elts = tmpMeta[2];
16383  /* Pattern matching succeeded */
16384 #line 2370 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16385  _e_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e);
16386 #line 16386 OMC_FILE
16387 
16388 #line 2371 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16389  _cr_1 = omc_DAEUtil_toModelicaFormCref(threadData, _cr);
16390 #line 16390 OMC_FILE
16391 
16392 #line 2372 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16393  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16394 #line 16394 OMC_FILE
16395 #line 2373 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16396  tmpMeta[2] = mmc_mk_box4(4, &DAE_Element_DEFINE__desc, _cr_1, _e_1, _source);
16397 #line 2373 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16398  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16399 #line 2373 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16400  tmpMeta[0] = tmpMeta[1];
16401 #line 16401 OMC_FILE
16402  goto tmp2_done;
16403  }
16404  case 3: {
16405  if (listEmpty(tmp3_1)) goto tmp2_end;
16406  tmpMeta[1] = MMC_CAR(tmp3_1);
16407  tmpMeta[2] = MMC_CDR(tmp3_1);
16408  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,3) == 0) goto tmp2_end;
16409  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16410  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16411  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16412  _cr = tmpMeta[3];
16413  _e = tmpMeta[4];
16414  _source = tmpMeta[5];
16415  _elts = tmpMeta[2];
16416  /* Pattern matching succeeded */
16417 #line 2378 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16418  _e_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e);
16419 #line 16419 OMC_FILE
16420 
16421 #line 2379 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16422  _cr_1 = omc_DAEUtil_toModelicaFormCref(threadData, _cr);
16423 #line 16423 OMC_FILE
16424 
16425 #line 2380 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16426  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16427 #line 16427 OMC_FILE
16428 #line 2381 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16429  tmpMeta[2] = mmc_mk_box4(5, &DAE_Element_INITIALDEFINE__desc, _cr_1, _e_1, _source);
16430 #line 2381 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16431  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16432 #line 2381 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16433  tmpMeta[0] = tmpMeta[1];
16434 #line 16434 OMC_FILE
16435  goto tmp2_done;
16436  }
16437  case 4: {
16438  if (listEmpty(tmp3_1)) goto tmp2_end;
16439  tmpMeta[1] = MMC_CAR(tmp3_1);
16440  tmpMeta[2] = MMC_CDR(tmp3_1);
16441  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,3) == 0) goto tmp2_end;
16442  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16443  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16444  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16445  _e1 = tmpMeta[3];
16446  _e2 = tmpMeta[4];
16447  _source = tmpMeta[5];
16448  _elts = tmpMeta[2];
16449  /* Pattern matching succeeded */
16450 #line 2386 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16451  _e1_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e1);
16452 #line 16452 OMC_FILE
16453 
16454 #line 2387 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16455  _e2_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e2);
16456 #line 16456 OMC_FILE
16457 
16458 #line 2388 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16459  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16460 #line 16460 OMC_FILE
16461 #line 2389 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16462  tmpMeta[2] = mmc_mk_box4(6, &DAE_Element_EQUATION__desc, _e1_1, _e2_1, _source);
16463 #line 2389 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16464  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16465 #line 2389 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16466  tmpMeta[0] = tmpMeta[1];
16467 #line 16467 OMC_FILE
16468  goto tmp2_done;
16469  }
16470  case 5: {
16471  if (listEmpty(tmp3_1)) goto tmp2_end;
16472  tmpMeta[1] = MMC_CAR(tmp3_1);
16473  tmpMeta[2] = MMC_CDR(tmp3_1);
16474  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],8,3) == 0) goto tmp2_end;
16475  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16476  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16477  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16478  _e1 = tmpMeta[3];
16479  _e2 = tmpMeta[4];
16480  _source = tmpMeta[5];
16481  _elts = tmpMeta[2];
16482  /* Pattern matching succeeded */
16483 #line 2394 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16484  _e1_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e1);
16485 #line 16485 OMC_FILE
16486 
16487 #line 2395 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16488  _e2_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e2);
16489 #line 16489 OMC_FILE
16490 
16491 #line 2396 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16492  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16493 #line 16493 OMC_FILE
16494 #line 2397 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16495  tmpMeta[2] = mmc_mk_box4(11, &DAE_Element_COMPLEX__EQUATION__desc, _e1_1, _e2_1, _source);
16496 #line 2397 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16497  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16498 #line 2397 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16499  tmpMeta[0] = tmpMeta[1];
16500 #line 16500 OMC_FILE
16501  goto tmp2_done;
16502  }
16503  case 6: {
16504  if (listEmpty(tmp3_1)) goto tmp2_end;
16505  tmpMeta[1] = MMC_CAR(tmp3_1);
16506  tmpMeta[2] = MMC_CDR(tmp3_1);
16507  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],9,3) == 0) goto tmp2_end;
16508  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16509  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16510  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16511  _e1 = tmpMeta[3];
16512  _e2 = tmpMeta[4];
16513  _source = tmpMeta[5];
16514  _elts = tmpMeta[2];
16515  /* Pattern matching succeeded */
16516 #line 2402 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16517  _e1_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e1);
16518 #line 16518 OMC_FILE
16519 
16520 #line 2403 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16521  _e2_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e2);
16522 #line 16522 OMC_FILE
16523 
16524 #line 2404 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16525  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16526 #line 16526 OMC_FILE
16527 #line 2405 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16528  tmpMeta[2] = mmc_mk_box4(12, &DAE_Element_INITIAL__COMPLEX__EQUATION__desc, _e1_1, _e2_1, _source);
16529 #line 2405 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16530  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16531 #line 2405 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16532  tmpMeta[0] = tmpMeta[1];
16533 #line 16533 OMC_FILE
16534  goto tmp2_done;
16535  }
16536  case 7: {
16537  if (listEmpty(tmp3_1)) goto tmp2_end;
16538  tmpMeta[1] = MMC_CAR(tmp3_1);
16539  tmpMeta[2] = MMC_CDR(tmp3_1);
16540  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,3) == 0) goto tmp2_end;
16541  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16542  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16543  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16544  _cr1 = tmpMeta[3];
16545  _cr2 = tmpMeta[4];
16546  _source = tmpMeta[5];
16547  _elts = tmpMeta[2];
16548  /* Pattern matching succeeded */
16549 #line 2410 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16550  /* Pattern-matching assignment */
16551 #line 2410 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16552  tmpMeta[1] = omc_DAEUtil_toModelicaFormExp(threadData, omc_Expression_crefExp(threadData, _cr1));
16553 #line 2410 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16554  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],6,2) == 0) goto goto_1;
16555 #line 2410 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16556  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16557 #line 2410 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16558  _cr1 = tmpMeta[2];
16559 #line 16559 OMC_FILE
16560 
16561 #line 2411 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16562  /* Pattern-matching assignment */
16563 #line 2411 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16564  tmpMeta[1] = omc_DAEUtil_toModelicaFormExp(threadData, omc_Expression_crefExp(threadData, _cr2));
16565 #line 2411 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16566  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],6,2) == 0) goto goto_1;
16567 #line 2411 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16568  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16569 #line 2411 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16570  _cr2 = tmpMeta[2];
16571 #line 16571 OMC_FILE
16572 
16573 #line 2412 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16574  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16575 #line 16575 OMC_FILE
16576 #line 2413 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16577  tmpMeta[2] = mmc_mk_box4(7, &DAE_Element_EQUEQUATION__desc, _cr1, _cr2, _source);
16578 #line 2413 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16579  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16580 #line 2413 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16581  tmpMeta[0] = tmpMeta[1];
16582 #line 16582 OMC_FILE
16583  goto tmp2_done;
16584  }
16585  case 8: {
16586  if (listEmpty(tmp3_1)) goto tmp2_end;
16587  tmpMeta[1] = MMC_CAR(tmp3_1);
16588  tmpMeta[2] = MMC_CDR(tmp3_1);
16589  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],10,4) == 0) goto tmp2_end;
16590  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16591  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16592  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16593  if (optionNone(tmpMeta[5])) goto tmp2_end;
16594  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 1));
16595  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
16596  _e1 = tmpMeta[3];
16597  _welts = tmpMeta[4];
16598  _elt = tmpMeta[6];
16599  _source = tmpMeta[7];
16600  _elts = tmpMeta[2];
16601  /* Pattern matching succeeded */
16602 #line 2418 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16603  _e1_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e1);
16604 #line 16604 OMC_FILE
16605 
16606 #line 2419 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16607  _welts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _welts);
16608 #line 16608 OMC_FILE
16609 
16610 #line 2420 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16611  /* Pattern-matching assignment */
16612 #line 2420 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16613  tmpMeta[1] = mmc_mk_cons(_elt, MMC_REFSTRUCTLIT(mmc_nil));
16614 #line 2420 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16615  tmpMeta[2] = omc_DAEUtil_toModelicaFormElts(threadData, tmpMeta[1]);
16616 #line 2420 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16617  if (listEmpty(tmpMeta[2])) goto goto_1;
16618 #line 2420 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16619  tmpMeta[3] = MMC_CAR(tmpMeta[2]);
16620 #line 2420 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16621  tmpMeta[4] = MMC_CDR(tmpMeta[2]);
16622 #line 2420 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16623  if (!listEmpty(tmpMeta[4])) goto goto_1;
16624 #line 2420 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16625  _elt_1 = tmpMeta[3];
16626 #line 16626 OMC_FILE
16627 
16628 #line 2421 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16629  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16630 #line 16630 OMC_FILE
16631 #line 2422 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16632  tmpMeta[2] = mmc_mk_box5(13, &DAE_Element_WHEN__EQUATION__desc, _e1_1, _welts_1, mmc_mk_some(_elt_1), _source);
16633 #line 2422 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16634  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16635 #line 2422 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16636  tmpMeta[0] = tmpMeta[1];
16637 #line 16637 OMC_FILE
16638  goto tmp2_done;
16639  }
16640  case 9: {
16641  if (listEmpty(tmp3_1)) goto tmp2_end;
16642  tmpMeta[1] = MMC_CAR(tmp3_1);
16643  tmpMeta[2] = MMC_CDR(tmp3_1);
16644  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],10,4) == 0) goto tmp2_end;
16645  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16646  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16647  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16648  if (!optionNone(tmpMeta[5])) goto tmp2_end;
16649  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
16650  _e1 = tmpMeta[3];
16651  _welts = tmpMeta[4];
16652  _source = tmpMeta[6];
16653  _elts = tmpMeta[2];
16654  /* Pattern matching succeeded */
16655 #line 2427 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16656  _e1_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e1);
16657 #line 16657 OMC_FILE
16658 
16659 #line 2428 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16660  _welts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _welts);
16661 #line 16661 OMC_FILE
16662 
16663 #line 2429 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16664  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16665 #line 16665 OMC_FILE
16666 #line 2430 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16667  tmpMeta[2] = mmc_mk_box5(13, &DAE_Element_WHEN__EQUATION__desc, _e1_1, _welts_1, mmc_mk_none(), _source);
16668 #line 2430 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16669  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16670 #line 2430 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16671  tmpMeta[0] = tmpMeta[1];
16672 #line 16672 OMC_FILE
16673  goto tmp2_done;
16674  }
16675  case 10: {
16676  if (listEmpty(tmp3_1)) goto tmp2_end;
16677  tmpMeta[1] = MMC_CAR(tmp3_1);
16678  tmpMeta[2] = MMC_CDR(tmp3_1);
16679  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],12,4) == 0) goto tmp2_end;
16680  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16681  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16682  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16683  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
16684  _conds = tmpMeta[3];
16685  _trueBranches = tmpMeta[4];
16686  _eelts = tmpMeta[5];
16687  _source = tmpMeta[6];
16688  _elts = tmpMeta[2];
16689  /* Pattern matching succeeded */
16690 #line 2435 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16691  _conds_1 = omc_List_map(threadData, _conds, boxvar_DAEUtil_toModelicaFormExp);
16692 #line 16692 OMC_FILE
16693 
16694 #line 2436 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16695  _trueBranches_1 = omc_List_map(threadData, _trueBranches, boxvar_DAEUtil_toModelicaFormElts);
16696 #line 16696 OMC_FILE
16697 
16698 #line 2437 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16699  _eelts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _eelts);
16700 #line 16700 OMC_FILE
16701 
16702 #line 2438 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16703  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16704 #line 16704 OMC_FILE
16705 #line 2439 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16706  tmpMeta[2] = mmc_mk_box5(15, &DAE_Element_IF__EQUATION__desc, _conds_1, _trueBranches_1, _eelts_1, _source);
16707 #line 2439 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16708  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16709 #line 2439 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16710  tmpMeta[0] = tmpMeta[1];
16711 #line 16711 OMC_FILE
16712  goto tmp2_done;
16713  }
16714  case 11: {
16715  if (listEmpty(tmp3_1)) goto tmp2_end;
16716  tmpMeta[1] = MMC_CAR(tmp3_1);
16717  tmpMeta[2] = MMC_CDR(tmp3_1);
16718  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],13,4) == 0) goto tmp2_end;
16719  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16720  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16721  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16722  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
16723  _conds = tmpMeta[3];
16724  _trueBranches = tmpMeta[4];
16725  _eelts = tmpMeta[5];
16726  _source = tmpMeta[6];
16727  _elts = tmpMeta[2];
16728  /* Pattern matching succeeded */
16729 #line 2444 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16730  _conds_1 = omc_List_map(threadData, _conds, boxvar_DAEUtil_toModelicaFormExp);
16731 #line 16731 OMC_FILE
16732 
16733 #line 2445 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16734  _trueBranches_1 = omc_List_map(threadData, _trueBranches, boxvar_DAEUtil_toModelicaFormElts);
16735 #line 16735 OMC_FILE
16736 
16737 #line 2446 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16738  _eelts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _eelts);
16739 #line 16739 OMC_FILE
16740 
16741 #line 2447 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16742  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16743 #line 16743 OMC_FILE
16744 #line 2448 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16745  tmpMeta[2] = mmc_mk_box5(16, &DAE_Element_INITIAL__IF__EQUATION__desc, _conds_1, _trueBranches_1, _eelts_1, _source);
16746 #line 2448 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16747  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16748 #line 2448 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16749  tmpMeta[0] = tmpMeta[1];
16750 #line 16750 OMC_FILE
16751  goto tmp2_done;
16752  }
16753  case 12: {
16754  if (listEmpty(tmp3_1)) goto tmp2_end;
16755  tmpMeta[1] = MMC_CAR(tmp3_1);
16756  tmpMeta[2] = MMC_CDR(tmp3_1);
16757  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],14,3) == 0) goto tmp2_end;
16758  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16759  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16760  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16761  _e1 = tmpMeta[3];
16762  _e2 = tmpMeta[4];
16763  _source = tmpMeta[5];
16764  _elts = tmpMeta[2];
16765  /* Pattern matching succeeded */
16766 #line 2453 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16767  _e1_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e1);
16768 #line 16768 OMC_FILE
16769 
16770 #line 2454 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16771  _e2_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e2);
16772 #line 16772 OMC_FILE
16773 
16774 #line 2455 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16775  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16776 #line 16776 OMC_FILE
16777 #line 2456 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16778  tmpMeta[2] = mmc_mk_box4(17, &DAE_Element_INITIALEQUATION__desc, _e1_1, _e2_1, _source);
16779 #line 2456 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16780  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16781 #line 2456 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16782  tmpMeta[0] = tmpMeta[1];
16783 #line 16783 OMC_FILE
16784  goto tmp2_done;
16785  }
16786  case 13: {
16787  if (listEmpty(tmp3_1)) goto tmp2_end;
16788  tmpMeta[1] = MMC_CAR(tmp3_1);
16789  tmpMeta[2] = MMC_CDR(tmp3_1);
16790  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],15,2) == 0) goto tmp2_end;
16791  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16792  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16793  _alg = tmpMeta[3];
16794  _source = tmpMeta[4];
16795  _elts = tmpMeta[2];
16796  /* Pattern matching succeeded */
16797 #line 2461 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16798  fputs(MMC_STRINGDATA(_OMC_LIT128),stdout);
16799 #line 16799 OMC_FILE
16800 
16801 #line 2462 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16802  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16803 #line 16803 OMC_FILE
16804 #line 2463 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16805  tmpMeta[2] = mmc_mk_box3(18, &DAE_Element_ALGORITHM__desc, _alg, _source);
16806 #line 2463 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16807  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16808 #line 2463 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16809  tmpMeta[0] = tmpMeta[1];
16810 #line 16810 OMC_FILE
16811  goto tmp2_done;
16812  }
16813  case 14: {
16814  if (listEmpty(tmp3_1)) goto tmp2_end;
16815  tmpMeta[1] = MMC_CAR(tmp3_1);
16816  tmpMeta[2] = MMC_CDR(tmp3_1);
16817  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],16,2) == 0) goto tmp2_end;
16818  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16819  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16820  _alg = tmpMeta[3];
16821  _source = tmpMeta[4];
16822  _elts = tmpMeta[2];
16823  /* Pattern matching succeeded */
16824 #line 2468 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16825  fputs(MMC_STRINGDATA(_OMC_LIT129),stdout);
16826 #line 16826 OMC_FILE
16827 
16828 #line 2469 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16829  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16830 #line 16830 OMC_FILE
16831 #line 2470 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16832  tmpMeta[2] = mmc_mk_box3(19, &DAE_Element_INITIALALGORITHM__desc, _alg, _source);
16833 #line 2470 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16834  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16835 #line 2470 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16836  tmpMeta[0] = tmpMeta[1];
16837 #line 16837 OMC_FILE
16838  goto tmp2_done;
16839  }
16840  case 15: {
16841  if (listEmpty(tmp3_1)) goto tmp2_end;
16842  tmpMeta[1] = MMC_CAR(tmp3_1);
16843  tmpMeta[2] = MMC_CDR(tmp3_1);
16844  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],17,4) == 0) goto tmp2_end;
16845  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16846  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16847  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16848  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
16849  _id = tmpMeta[3];
16850  _elts2 = tmpMeta[4];
16851  _source = tmpMeta[5];
16852  _comment = tmpMeta[6];
16853  _elts = tmpMeta[2];
16854  /* Pattern matching succeeded */
16855 #line 2475 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16856  _elts2 = omc_DAEUtil_toModelicaFormElts(threadData, _elts2);
16857 #line 16857 OMC_FILE
16858 
16859 #line 2476 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16860  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16861 #line 16861 OMC_FILE
16862 #line 2477 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16863  tmpMeta[2] = mmc_mk_box5(20, &DAE_Element_COMP__desc, _id, _elts2, _source, _comment);
16864 #line 2477 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16865  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16866 #line 2477 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16867  tmpMeta[0] = tmpMeta[1];
16868 #line 16868 OMC_FILE
16869  goto tmp2_done;
16870  }
16871  case 16: {
16872  if (listEmpty(tmp3_1)) goto tmp2_end;
16873  tmpMeta[1] = MMC_CAR(tmp3_1);
16874  tmpMeta[2] = MMC_CDR(tmp3_1);
16875  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],19,4) == 0) goto tmp2_end;
16876  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16877  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16878  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16879  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
16880  _e1 = tmpMeta[3];
16881  _e2 = tmpMeta[4];
16882  _e3 = tmpMeta[5];
16883  _source = tmpMeta[6];
16884  _elts = tmpMeta[2];
16885  /* Pattern matching succeeded */
16886 #line 2482 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16887  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16888 #line 16888 OMC_FILE
16889 
16890 #line 2483 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16891  _e_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e1);
16892 #line 16892 OMC_FILE
16893 
16894 #line 2484 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16895  _e_2 = omc_DAEUtil_toModelicaFormExp(threadData, _e2);
16896 #line 16896 OMC_FILE
16897 
16898 #line 2485 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16899  _e_3 = omc_DAEUtil_toModelicaFormExp(threadData, _e3);
16900 #line 16900 OMC_FILE
16901 #line 2486 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16902  tmpMeta[2] = mmc_mk_box5(22, &DAE_Element_ASSERT__desc, _e_1, _e_2, _e_3, _source);
16903 #line 2486 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16904  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16905 #line 2486 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16906  tmpMeta[0] = tmpMeta[1];
16907 #line 16907 OMC_FILE
16908  goto tmp2_done;
16909  }
16910  case 17: {
16911  if (listEmpty(tmp3_1)) goto tmp2_end;
16912  tmpMeta[1] = MMC_CAR(tmp3_1);
16913  tmpMeta[2] = MMC_CDR(tmp3_1);
16914  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],20,4) == 0) goto tmp2_end;
16915  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16916  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16917  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16918  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
16919  _e1 = tmpMeta[3];
16920  _e2 = tmpMeta[4];
16921  _e3 = tmpMeta[5];
16922  _source = tmpMeta[6];
16923  _elts = tmpMeta[2];
16924  /* Pattern matching succeeded */
16925 #line 2491 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16926  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16927 #line 16927 OMC_FILE
16928 
16929 #line 2492 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16930  _e_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e1);
16931 #line 16931 OMC_FILE
16932 
16933 #line 2493 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16934  _e_2 = omc_DAEUtil_toModelicaFormExp(threadData, _e2);
16935 #line 16935 OMC_FILE
16936 
16937 #line 2494 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16938  _e_3 = omc_DAEUtil_toModelicaFormExp(threadData, _e3);
16939 #line 16939 OMC_FILE
16940 #line 2495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16941  tmpMeta[2] = mmc_mk_box5(23, &DAE_Element_INITIAL__ASSERT__desc, _e_1, _e_2, _e_3, _source);
16942 #line 2495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16943  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16944 #line 2495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16945  tmpMeta[0] = tmpMeta[1];
16946 #line 16946 OMC_FILE
16947  goto tmp2_done;
16948  }
16949  case 18: {
16950  if (listEmpty(tmp3_1)) goto tmp2_end;
16951  tmpMeta[1] = MMC_CAR(tmp3_1);
16952  tmpMeta[2] = MMC_CDR(tmp3_1);
16953  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],21,2) == 0) goto tmp2_end;
16954  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16955  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16956  _e1 = tmpMeta[3];
16957  _source = tmpMeta[4];
16958  _elts = tmpMeta[2];
16959  /* Pattern matching succeeded */
16960 #line 2500 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16961  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16962 #line 16962 OMC_FILE
16963 
16964 #line 2501 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16965  _e_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e1);
16966 #line 16966 OMC_FILE
16967 #line 2502 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16968  tmpMeta[2] = mmc_mk_box3(24, &DAE_Element_TERMINATE__desc, _e_1, _source);
16969 #line 2502 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16970  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16971 #line 2502 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16972  tmpMeta[0] = tmpMeta[1];
16973 #line 16973 OMC_FILE
16974  goto tmp2_done;
16975  }
16976  case 19: {
16977  if (listEmpty(tmp3_1)) goto tmp2_end;
16978  tmpMeta[1] = MMC_CAR(tmp3_1);
16979  tmpMeta[2] = MMC_CDR(tmp3_1);
16980  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],22,2) == 0) goto tmp2_end;
16981  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16982  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16983  _e1 = tmpMeta[3];
16984  _source = tmpMeta[4];
16985  _elts = tmpMeta[2];
16986  /* Pattern matching succeeded */
16987 #line 2507 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16988  _elts_1 = omc_DAEUtil_toModelicaFormElts(threadData, _elts);
16989 #line 16989 OMC_FILE
16990 
16991 #line 2508 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16992  _e_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e1);
16993 #line 16993 OMC_FILE
16994 #line 2509 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16995  tmpMeta[2] = mmc_mk_box3(25, &DAE_Element_INITIAL__TERMINATE__desc, _e_1, _source);
16996 #line 2509 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16997  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _elts_1);
16998 #line 2509 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
16999  tmpMeta[0] = tmpMeta[1];
17000 #line 17000 OMC_FILE
17001  goto tmp2_done;
17002  }
17003  }
17004  goto tmp2_end;
17005  tmp2_end: ;
17006  }
17007  goto goto_1;
17008  goto_1:;
17009  MMC_THROW_INTERNAL();
17010  goto tmp2_done;
17011  tmp2_done:;
17012  }
17013  }
17014  _outElementLst = tmpMeta[0];
17015  _return: OMC_LABEL_UNUSED
17016  return _outElementLst;
17017 }
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIAL__ASSERT__desc
Definition: DAE_records.c:1180
struct record_description DAE_Element_EQUEQUATION__desc
Definition: DAE_records.c:979
struct record_description DAE_Element_ALGORITHM__desc
Definition: DAE_records.c:1122
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_COMPLEX__EQUATION__desc
Definition: DAE_records.c:1024
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_DEFINE__desc
Definition: DAE_records.c:933
DLLExport modelica_string omc_Util_stringReplaceChar(threadData_t *threadData, modelica_string _inString1, modelica_string _inString2, modelica_string _inString3)
Definition: Util.c:4532
modelica_metatype modelica_string
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIAL__TERMINATE__desc
Definition: DAE_records.c:1206
struct record_description DAE_Element_EQUATION__desc
Definition: DAE_records.c:966
float mmc_switch_type
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIAL__IF__EQUATION__desc
Definition: DAE_records.c:1089
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_IF__EQUATION__desc
Definition: DAE_records.c:1076
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIAL__COMPLEX__EQUATION__desc
Definition: DAE_records.c:1037
struct record_description DAE_Element_VAR__desc
Definition: DAE_records.c:927
DLLExport modelica_metatype omc_List_map(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc)
Definition: List.c:13453
DLLExport modelica_metatype omc_ComponentReference_makeCrefIdent(threadData_t *threadData, modelica_string _ident, modelica_metatype _identType, modelica_metatype _subscriptLst)
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIALALGORITHM__desc
Definition: DAE_records.c:1128
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_COMP__desc
Definition: DAE_records.c:1141
DLLExport modelica_metatype omc_Expression_crefExp(threadData_t *threadData, modelica_metatype _cr)
Definition: Expression.c:41322
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormExpOpt(threadData_t *threadData, modelica_metatype _inExpExpOption)
Definition: DAEUtil.c:15865
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIALEQUATION__desc
Definition: DAE_records.c:1102
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormCref(threadData_t *threadData, modelica_metatype _cr)
Definition: DAEUtil.c:15835
DLLExport modelica_string omc_ComponentReference_printComponentRefStr(threadData_t *threadData, modelica_metatype _inComponentRef)
struct record_description DAE_Element_ASSERT__desc
Definition: DAE_records.c:1174
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_TERMINATE__desc
Definition: DAE_records.c:1193
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormElts(threadData_t *threadData, modelica_metatype _inElementLst)
Definition: DAEUtil.c:16233
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormExp(threadData_t *threadData, modelica_metatype _inExp)
Definition: DAEUtil.c:15504
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_INITIALDEFINE__desc
Definition: DAE_records.c:946
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_ComponentReference_crefLastType(threadData_t *threadData, modelica_metatype _inRef)
ADD_METARECORD_DEFINITIONS struct record_description DAE_Element_WHEN__EQUATION__desc
Definition: DAE_records.c:1050
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_toModelicaFormExp()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormExp ( threadData_t threadData,
modelica_metatype  _inExp 
)

Definition at line 15504 of file DAEUtil.c.

15505 {
15506  modelica_metatype _outExp = NULL;
15507  modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
15508  MMC_SO();
15509  _tailrecursive: OMC_LABEL_UNUSED
15510 #line 15510 OMC_FILE
15511  { /* matchcontinue expression */
15512  volatile modelica_metatype tmp3_1;
15513  tmp3_1 = _inExp;
15514  {
15515  modelica_metatype _cr_1 = NULL;
15516  modelica_metatype _cr = NULL;
15517  modelica_metatype _t = NULL;
15518  modelica_metatype _e1_1 = NULL;
15519  modelica_metatype _e2_1 = NULL;
15520  modelica_metatype _e1 = NULL;
15521  modelica_metatype _e2 = NULL;
15522  modelica_metatype _e_1 = NULL;
15523  modelica_metatype _e = NULL;
15524  modelica_metatype _e3_1 = NULL;
15525  modelica_metatype _e3 = NULL;
15526  modelica_metatype _op = NULL;
15527  modelica_metatype _expl_1 = NULL;
15528  modelica_metatype _expl = NULL;
15529  modelica_metatype _f = NULL;
15530  modelica_boolean _b;
15531  modelica_integer _i;
15532  modelica_metatype _eopt_1 = NULL;
15533  modelica_metatype _eopt = NULL;
15534  modelica_metatype _attr = NULL;
15535  modelica_metatype _optionExpisASUB = NULL;
15536  volatile mmc_switch_type tmp3;
15537  int tmp4;
15538  tmp3 = 0;
15539  MMC_TRY_INTERNAL(mmc_jumper)
15540  tmp2_top:
15541  threadData->mmc_jumper = &new_mmc_jumper;
15542  for (; tmp3 < 14; tmp3++) {
15543  switch (MMC_SWITCH_CAST(tmp3)) {
15544  case 0: {
15545  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,6,2) == 0) goto tmp2_end;
15546  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
15547  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15548  _cr = tmpMeta[1];
15549  _t = tmpMeta[2];
15550  tmp3 += 12; /* Pattern matching succeeded; we may skip some cases if we fail */
15551 #line 2654 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15552  _cr_1 = omc_DAEUtil_toModelicaFormCref(threadData, _cr);
15553 #line 15553 OMC_FILE
15554 #line 2655 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15555  tmpMeta[0] = omc_Expression_makeCrefExp(threadData, _cr_1, _t);
15556 #line 15556 OMC_FILE
15557  goto tmp2_done;
15558  }
15559  case 1: {
15560  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
15561  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
15562  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15563  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
15564  _e1 = tmpMeta[1];
15565  _op = tmpMeta[2];
15566  _e2 = tmpMeta[3];
15567  tmp3 += 11; /* Pattern matching succeeded; we may skip some cases if we fail */
15568 #line 2660 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15569  _e1_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e1);
15570 #line 15570 OMC_FILE
15571 
15572 #line 2661 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15573  _e2_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e2);
15574 #line 15574 OMC_FILE
15575 #line 2662 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15576  tmpMeta[1] = mmc_mk_box4(10, &DAE_Exp_BINARY__desc, _e1_1, _op, _e2_1);
15577 #line 2662 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15578  tmpMeta[0] = tmpMeta[1];
15579 #line 15579 OMC_FILE
15580  goto tmp2_done;
15581  }
15582  case 2: {
15583  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,3) == 0) goto tmp2_end;
15584  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
15585  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15586  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
15587  _e1 = tmpMeta[1];
15588  _op = tmpMeta[2];
15589  _e2 = tmpMeta[3];
15590  tmp3 += 10; /* Pattern matching succeeded; we may skip some cases if we fail */
15591 #line 2666 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15592  _e1_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e1);
15593 #line 15593 OMC_FILE
15594 
15595 #line 2667 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15596  _e2_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e2);
15597 #line 15597 OMC_FILE
15598 #line 2668 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15599  tmpMeta[1] = mmc_mk_box4(12, &DAE_Exp_LBINARY__desc, _e1_1, _op, _e2_1);
15600 #line 2668 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15601  tmpMeta[0] = tmpMeta[1];
15602 #line 15602 OMC_FILE
15603  goto tmp2_done;
15604  }
15605  case 3: {
15606  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,8,2) == 0) goto tmp2_end;
15607  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
15608  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15609  _op = tmpMeta[1];
15610  _e = tmpMeta[2];
15611  tmp3 += 9; /* Pattern matching succeeded; we may skip some cases if we fail */
15612 #line 2672 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15613  _e_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e);
15614 #line 15614 OMC_FILE
15615 #line 2673 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15616  tmpMeta[1] = mmc_mk_box3(11, &DAE_Exp_UNARY__desc, _op, _e_1);
15617 #line 2673 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15618  tmpMeta[0] = tmpMeta[1];
15619 #line 15619 OMC_FILE
15620  goto tmp2_done;
15621  }
15622  case 4: {
15623  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,10,2) == 0) goto tmp2_end;
15624  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
15625  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15626  _op = tmpMeta[1];
15627  _e = tmpMeta[2];
15628  tmp3 += 8; /* Pattern matching succeeded; we may skip some cases if we fail */
15629 #line 2677 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15630  _e_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e);
15631 #line 15631 OMC_FILE
15632 #line 2678 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15633  tmpMeta[1] = mmc_mk_box3(13, &DAE_Exp_LUNARY__desc, _op, _e_1);
15634 #line 2678 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15635  tmpMeta[0] = tmpMeta[1];
15636 #line 15636 OMC_FILE
15637  goto tmp2_done;
15638  }
15639  case 5: {
15640  modelica_integer tmp5;
15641  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,11,5) == 0) goto tmp2_end;
15642  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
15643  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15644  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
15645  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
15646  tmp5 = mmc_unbox_integer(tmpMeta[4]);
15647  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 6));
15648  _e1 = tmpMeta[1];
15649  _op = tmpMeta[2];
15650  _e2 = tmpMeta[3];
15651  _i = tmp5 /* pattern as ty=Integer */;
15652  _optionExpisASUB = tmpMeta[5];
15653  tmp3 += 7; /* Pattern matching succeeded; we may skip some cases if we fail */
15654 #line 2682 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15655  _e1_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e1);
15656 #line 15656 OMC_FILE
15657 
15658 #line 2683 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15659  _e2_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e2);
15660 #line 15660 OMC_FILE
15661 #line 2684 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15662  tmpMeta[1] = mmc_mk_box6(14, &DAE_Exp_RELATION__desc, _e1_1, _op, _e2_1, mmc_mk_integer((modelica_integer)_i), _optionExpisASUB);
15663 #line 2684 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15664  tmpMeta[0] = tmpMeta[1];
15665 #line 15665 OMC_FILE
15666  goto tmp2_done;
15667  }
15668  case 6: {
15669  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,12,3) == 0) goto tmp2_end;
15670  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
15671  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15672  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
15673  _e1 = tmpMeta[1];
15674  _e2 = tmpMeta[2];
15675  _e3 = tmpMeta[3];
15676  tmp3 += 6; /* Pattern matching succeeded; we may skip some cases if we fail */
15677 #line 2688 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15678  _e1_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e1);
15679 #line 15679 OMC_FILE
15680 
15681 #line 2689 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15682  _e2_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e2);
15683 #line 15683 OMC_FILE
15684 
15685 #line 2690 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15686  _e3_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e3);
15687 #line 15687 OMC_FILE
15688 #line 2691 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15689  tmpMeta[1] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, _e1_1, _e2_1, _e3_1);
15690 #line 2691 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15691  tmpMeta[0] = tmpMeta[1];
15692 #line 15692 OMC_FILE
15693  goto tmp2_done;
15694  }
15695  case 7: {
15696  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,3) == 0) goto tmp2_end;
15697  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
15698  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15699  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
15700  _f = tmpMeta[1];
15701  _expl = tmpMeta[2];
15702  _attr = tmpMeta[3];
15703  tmp3 += 5; /* Pattern matching succeeded; we may skip some cases if we fail */
15704 #line 2695 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15705  _expl_1 = omc_List_map(threadData, _expl, boxvar_DAEUtil_toModelicaFormExp);
15706 #line 15706 OMC_FILE
15707 #line 2696 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15708  tmpMeta[1] = mmc_mk_box4(16, &DAE_Exp_CALL__desc, _f, _expl_1, _attr);
15709 #line 2696 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15710  tmpMeta[0] = tmpMeta[1];
15711 #line 15711 OMC_FILE
15712  goto tmp2_done;
15713  }
15714  case 8: {
15715  modelica_integer tmp6;
15716  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,16,3) == 0) goto tmp2_end;
15717  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
15718  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15719  tmp6 = mmc_unbox_integer(tmpMeta[2]);
15720  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
15721  _t = tmpMeta[1];
15722  _b = tmp6 /* pattern as ty=Boolean */;
15723  _expl = tmpMeta[3];
15724  tmp3 += 4; /* Pattern matching succeeded; we may skip some cases if we fail */
15725 #line 2700 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15726  _expl_1 = omc_List_map(threadData, _expl, boxvar_DAEUtil_toModelicaFormExp);
15727 #line 15727 OMC_FILE
15728 #line 2701 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15729  tmpMeta[1] = mmc_mk_box4(19, &DAE_Exp_ARRAY__desc, _t, mmc_mk_boolean(_b), _expl_1);
15730 #line 2701 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15731  tmpMeta[0] = tmpMeta[1];
15732 #line 15732 OMC_FILE
15733  goto tmp2_done;
15734  }
15735  case 9: {
15736  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,19,1) == 0) goto tmp2_end;
15737  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
15738  _expl = tmpMeta[1];
15739  tmp3 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
15740 #line 2705 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15741  _expl_1 = omc_List_map(threadData, _expl, boxvar_DAEUtil_toModelicaFormExp);
15742 #line 15742 OMC_FILE
15743 #line 2706 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15744  tmpMeta[1] = mmc_mk_box2(22, &DAE_Exp_TUPLE__desc, _expl_1);
15745 #line 2706 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15746  tmpMeta[0] = tmpMeta[1];
15747 #line 15747 OMC_FILE
15748  goto tmp2_done;
15749  }
15750  case 10: {
15751  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,20,2) == 0) goto tmp2_end;
15752  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
15753  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15754  _t = tmpMeta[1];
15755  _e = tmpMeta[2];
15756  tmp3 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
15757 #line 2710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15758  _e_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e);
15759 #line 15759 OMC_FILE
15760 #line 2711 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15761  tmpMeta[1] = mmc_mk_box3(23, &DAE_Exp_CAST__desc, _t, _e_1);
15762 #line 2711 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15763  tmpMeta[0] = tmpMeta[1];
15764 #line 15764 OMC_FILE
15765  goto tmp2_done;
15766  }
15767  case 11: {
15768  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,21,2) == 0) goto tmp2_end;
15769  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
15770  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15771  _e = tmpMeta[1];
15772  _expl = tmpMeta[2];
15773  tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
15774 #line 2715 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15775  _e_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e);
15776 #line 15776 OMC_FILE
15777 #line 2716 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15778  tmpMeta[0] = omc_Expression_makeASUB(threadData, _e_1, _expl);
15779 #line 15779 OMC_FILE
15780  goto tmp2_done;
15781  }
15782  case 12: {
15783  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,24,2) == 0) goto tmp2_end;
15784  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
15785  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15786  _e = tmpMeta[1];
15787  _eopt = tmpMeta[2];
15788  /* Pattern matching succeeded */
15789 #line 2720 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15790  _e_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e);
15791 #line 15791 OMC_FILE
15792 
15793 #line 2721 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15794  _eopt_1 = omc_DAEUtil_toModelicaFormExpOpt(threadData, _eopt);
15795 #line 15795 OMC_FILE
15796 #line 2722 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15797  tmpMeta[1] = mmc_mk_box3(27, &DAE_Exp_SIZE__desc, _e_1, _eopt_1);
15798 #line 2722 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15799  tmpMeta[0] = tmpMeta[1];
15800 #line 15800 OMC_FILE
15801  goto tmp2_done;
15802  }
15803  case 13: {
15804 
15805  _e = tmp3_1;
15806  /* Pattern matching succeeded */
15807 #line 2724 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15808  tmpMeta[0] = _e;
15809 #line 15809 OMC_FILE
15810  goto tmp2_done;
15811  }
15812  }
15813  goto tmp2_end;
15814  tmp2_end: ;
15815  }
15816  goto goto_1;
15817  tmp2_done:
15818  (void)tmp3;
15819  MMC_RESTORE_INTERNAL(mmc_jumper);
15820  goto tmp2_done2;
15821  goto_1:;
15822  MMC_CATCH_INTERNAL(mmc_jumper);
15823  if (++tmp3 < 14) {
15824  goto tmp2_top;
15825  }
15826  MMC_THROW_INTERNAL();
15827  tmp2_done2:;
15828  }
15829  }
15830  _outExp = tmpMeta[0];
15831  _return: OMC_LABEL_UNUSED
15832  return _outExp;
15833 }
struct record_description DAE_Exp_RELATION__desc
Definition: DAE_records.c:5438
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
DLLExport modelica_metatype omc_Expression_makeCrefExp(threadData_t *threadData, modelica_metatype _inCref, modelica_metatype _inExpType)
Definition: Expression.c:41428
m_integer modelica_integer
signed char modelica_boolean
struct record_description DAE_Exp_LUNARY__desc
Definition: DAE_records.c:5425
struct record_description DAE_Exp_ARRAY__desc
Definition: DAE_records.c:5503
float mmc_switch_type
DLLExport modelica_metatype omc_Expression_makeASUB(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inSubs)
Definition: Expression.c:41200
struct record_description DAE_Exp_BINARY__desc
Definition: DAE_records.c:5386
struct record_description DAE_Exp_SIZE__desc
Definition: DAE_records.c:5607
DLLExport modelica_metatype omc_List_map(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc)
Definition: List.c:13453
struct record_description DAE_Exp_IFEXP__desc
Definition: DAE_records.c:5451
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormExpOpt(threadData_t *threadData, modelica_metatype _inExpExpOption)
Definition: DAEUtil.c:15865
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormCref(threadData_t *threadData, modelica_metatype _cr)
Definition: DAEUtil.c:15835
struct record_description DAE_Exp_TUPLE__desc
Definition: DAE_records.c:5542
void * modelica_metatype
struct record_description DAE_Exp_CAST__desc
Definition: DAE_records.c:5555
struct record_description DAE_Exp_LBINARY__desc
Definition: DAE_records.c:5412
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormExp(threadData_t *threadData, modelica_metatype _inExp)
Definition: DAEUtil.c:15504
struct record_description DAE_Exp_UNARY__desc
Definition: DAE_records.c:5399
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
struct record_description DAE_Exp_CALL__desc
Definition: DAE_records.c:5464
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_toModelicaFormExpOpt()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormExpOpt ( threadData_t threadData,
modelica_metatype  _inExpExpOption 
)

Definition at line 15865 of file DAEUtil.c.

15866 {
15867  modelica_metatype _outExpExpOption = NULL;
15868  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
15869  MMC_SO();
15870  _tailrecursive: OMC_LABEL_UNUSED
15871 #line 15871 OMC_FILE
15872  { /* match expression */
15873  modelica_metatype tmp3_1;
15874  tmp3_1 = _inExpExpOption;
15875  {
15876  modelica_metatype _e_1 = NULL;
15877  modelica_metatype _e = NULL;
15878  volatile mmc_switch_type tmp3;
15879  int tmp4;
15880  tmp3 = 0;
15881  for (; tmp3 < 2; tmp3++) {
15882  switch (MMC_SWITCH_CAST(tmp3)) {
15883  case 0: {
15884  if (optionNone(tmp3_1)) goto tmp2_end;
15885  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
15886  _e = tmpMeta[1];
15887  /* Pattern matching succeeded */
15888 #line 2616 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15889  _e_1 = omc_DAEUtil_toModelicaFormExp(threadData, _e);
15890 #line 15890 OMC_FILE
15891 #line 2616 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15892  tmpMeta[0] = mmc_mk_some(_e_1);
15893 #line 15893 OMC_FILE
15894  goto tmp2_done;
15895  }
15896  case 1: {
15897  if (!optionNone(tmp3_1)) goto tmp2_end;
15898  /* Pattern matching succeeded */
15899 #line 2617 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
15900  tmpMeta[0] = mmc_mk_none();
15901 #line 15901 OMC_FILE
15902  goto tmp2_done;
15903  }
15904  }
15905  goto tmp2_end;
15906  tmp2_end: ;
15907  }
15908  goto goto_1;
15909  goto_1:;
15910  MMC_THROW_INTERNAL();
15911  goto tmp2_done;
15912  tmp2_done:;
15913  }
15914  }
15915  _outExpExpOption = tmpMeta[0];
15916  _return: OMC_LABEL_UNUSED
15917  return _outExpExpOption;
15918 }
float mmc_switch_type
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_toModelicaFormExp(threadData_t *threadData, modelica_metatype _inExp)
Definition: DAEUtil.c:15504
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_topLevelConnectorType()

PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_topLevelConnectorType ( threadData_t threadData,
modelica_metatype  _inConnectorType 
)

Definition at line 26165 of file DAEUtil.c.

26166 {
26167  modelica_boolean _isTopLevel;
26168  modelica_boolean tmp1 = 0;
26169  MMC_SO();
26170  _tailrecursive: OMC_LABEL_UNUSED
26171 #line 26171 OMC_FILE
26172  { /* match expression */
26173  modelica_metatype tmp4_1;
26174  tmp4_1 = _inConnectorType;
26175  {
26176  int tmp4;
26177  {
26178  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
26179  case 4: {
26180 
26181  /* Pattern matching succeeded */
26182 #line 160 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26183  tmp1 = 1;
26184 #line 26184 OMC_FILE
26185  goto tmp3_done;
26186  }
26187  case 3: {
26188 
26189  /* Pattern matching succeeded */
26190 #line 161 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26191  tmp1 = 1;
26192 #line 26192 OMC_FILE
26193  goto tmp3_done;
26194  }
26195  default:
26196  tmp3_default: OMC_LABEL_UNUSED; {
26197 
26198  /* Pattern matching succeeded */
26199 #line 162 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26200  tmp1 = 0;
26201 #line 26201 OMC_FILE
26202  goto tmp3_done;
26203  }
26204  }
26205  goto tmp3_end;
26206  tmp3_end: ;
26207  }
26208  goto goto_2;
26209  goto_2:;
26210  MMC_THROW_INTERNAL();
26211  goto tmp3_done;
26212  tmp3_done:;
26213  }
26214  }
26215  _isTopLevel = tmp1;
26216  _return: OMC_LABEL_UNUSED
26217  return _isTopLevel;
26218 }
signed char modelica_boolean
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_topLevelInput()

DLLExport modelica_boolean omc_DAEUtil_topLevelInput ( threadData_t threadData,
modelica_metatype  _inComponentRef,
modelica_metatype  _inVarDirection,
modelica_metatype  _inConnectorType 
)

Definition at line 26300 of file DAEUtil.c.

26301 {
26302  modelica_boolean _isTopLevel;
26303  modelica_boolean tmp1 = 0;
26304  MMC_SO();
26305  _tailrecursive: OMC_LABEL_UNUSED
26306 #line 26306 OMC_FILE
26307  { /* match expression */
26308  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
26309  tmp4_1 = _inVarDirection;
26310  tmp4_2 = _inComponentRef;
26311  {
26312  volatile mmc_switch_type tmp4;
26313  int tmp5;
26314  tmp4 = 0;
26315  for (; tmp4 < 3; tmp4++) {
26316  switch (MMC_SWITCH_CAST(tmp4)) {
26317  case 0: {
26318  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0) == 0) goto tmp3_end;
26319  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
26320 
26321  /* Pattern matching succeeded */
26322 #line 130 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26323  tmp1 = 1;
26324 #line 26324 OMC_FILE
26325  goto tmp3_done;
26326  }
26327  case 1: {
26328  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0) == 0) goto tmp3_end;
26329 
26330  /* Pattern matching succeeded */
26331  /* Check guard condition after assignments */
26332  if (!omc_ConnectUtil_faceEqual(threadData, omc_ConnectUtil_componentFaceType(threadData, _inComponentRef), _OMC_LIT166)) goto tmp3_end;
26333 #line 133 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26334  tmp1 = omc_DAEUtil_topLevelConnectorType(threadData, _inConnectorType);
26335 #line 26335 OMC_FILE
26336  goto tmp3_done;
26337  }
26338  case 2: {
26339 
26340  /* Pattern matching succeeded */
26341 #line 134 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26342  tmp1 = 0;
26343 #line 26343 OMC_FILE
26344  goto tmp3_done;
26345  }
26346  }
26347  goto tmp3_end;
26348  tmp3_end: ;
26349  }
26350  goto goto_2;
26351  goto_2:;
26352  MMC_THROW_INTERNAL();
26353  goto tmp3_done;
26354  tmp3_done:;
26355  }
26356  }
26357  _isTopLevel = tmp1;
26358  _return: OMC_LABEL_UNUSED
26359  return _isTopLevel;
26360 }
DLLExport modelica_metatype omc_ConnectUtil_componentFaceType(threadData_t *threadData, modelica_metatype _inComponentRef)
Definition: ConnectUtil.c:2269
signed char modelica_boolean
float mmc_switch_type
PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_topLevelConnectorType(threadData_t *threadData, modelica_metatype _inConnectorType)
Definition: DAEUtil.c:26165
void * modelica_metatype
DLLExport modelica_boolean omc_ConnectUtil_faceEqual(threadData_t *threadData, modelica_metatype _face1, modelica_metatype _face2)
Definition: ConnectUtil.c:3546
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_topLevelOutput()

DLLExport modelica_boolean omc_DAEUtil_topLevelOutput ( threadData_t threadData,
modelica_metatype  _inComponentRef,
modelica_metatype  _inVarDirection,
modelica_metatype  _inConnectorType 
)

Definition at line 26229 of file DAEUtil.c.

26230 {
26231  modelica_boolean _isTopLevel;
26232  modelica_boolean tmp1 = 0;
26233  MMC_SO();
26234  _tailrecursive: OMC_LABEL_UNUSED
26235 #line 26235 OMC_FILE
26236  { /* match expression */
26237  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
26238  tmp4_1 = _inVarDirection;
26239  tmp4_2 = _inComponentRef;
26240  {
26241  volatile mmc_switch_type tmp4;
26242  int tmp5;
26243  tmp4 = 0;
26244  for (; tmp4 < 3; tmp4++) {
26245  switch (MMC_SWITCH_CAST(tmp4)) {
26246  case 0: {
26247  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,0) == 0) goto tmp3_end;
26248  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,3) == 0) goto tmp3_end;
26249 
26250  /* Pattern matching succeeded */
26251 #line 147 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26252  tmp1 = 1;
26253 #line 26253 OMC_FILE
26254  goto tmp3_done;
26255  }
26256  case 1: {
26257  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,0) == 0) goto tmp3_end;
26258 
26259  /* Pattern matching succeeded */
26260  /* Check guard condition after assignments */
26261  if (!omc_ConnectUtil_faceEqual(threadData, omc_ConnectUtil_componentFaceType(threadData, _inComponentRef), _OMC_LIT166)) goto tmp3_end;
26262 #line 150 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26263  tmp1 = omc_DAEUtil_topLevelConnectorType(threadData, _inConnectorType);
26264 #line 26264 OMC_FILE
26265  goto tmp3_done;
26266  }
26267  case 2: {
26268 
26269  /* Pattern matching succeeded */
26270 #line 151 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
26271  tmp1 = 0;
26272 #line 26272 OMC_FILE
26273  goto tmp3_done;
26274  }
26275  }
26276  goto tmp3_end;
26277  tmp3_end: ;
26278  }
26279  goto goto_2;
26280  goto_2:;
26281  MMC_THROW_INTERNAL();
26282  goto tmp3_done;
26283  tmp3_done:;
26284  }
26285  }
26286  _isTopLevel = tmp1;
26287  _return: OMC_LABEL_UNUSED
26288  return _isTopLevel;
26289 }
DLLExport modelica_metatype omc_ConnectUtil_componentFaceType(threadData_t *threadData, modelica_metatype _inComponentRef)
Definition: ConnectUtil.c:2269
signed char modelica_boolean
float mmc_switch_type
PROTECTED_FUNCTION_STATIC modelica_boolean omc_DAEUtil_topLevelConnectorType(threadData_t *threadData, modelica_metatype _inConnectorType)
Definition: DAEUtil.c:26165
void * modelica_metatype
DLLExport modelica_boolean omc_ConnectUtil_faceEqual(threadData_t *threadData, modelica_metatype _face1, modelica_metatype _face2)
Definition: ConnectUtil.c:3546
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_toSCodeConnectorType()

DLLExport modelica_metatype omc_DAEUtil_toSCodeConnectorType ( threadData_t threadData,
modelica_metatype  _daeConnectorType 
)

Definition at line 1136 of file DAEUtil.c.

1137 {
1138  modelica_metatype _scodeConnectorType = NULL;
1139  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
1140  MMC_SO();
1141  _tailrecursive: OMC_LABEL_UNUSED
1142 #line 1142 OMC_FILE
1143  { /* match expression */
1144  modelica_metatype tmp3_1;
1145  tmp3_1 = _daeConnectorType;
1146  {
1147  int tmp3;
1148  {
1149  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
1150  case 4: {
1151 
1152  /* Pattern matching succeeded */
1153 #line 6481 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1154  tmpMeta[0] = _OMC_LIT4;
1155 #line 1155 OMC_FILE
1156  goto tmp2_done;
1157  }
1158  case 5: {
1159 
1160  /* Pattern matching succeeded */
1161 #line 6482 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1162  tmpMeta[0] = _OMC_LIT5;
1163 #line 1163 OMC_FILE
1164  goto tmp2_done;
1165  }
1166  case 3: {
1167 
1168  /* Pattern matching succeeded */
1169 #line 6483 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1170  tmpMeta[0] = _OMC_LIT6;
1171 #line 1171 OMC_FILE
1172  goto tmp2_done;
1173  }
1174  case 6: {
1175 
1176  /* Pattern matching succeeded */
1177 #line 6484 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
1178  tmpMeta[0] = _OMC_LIT6;
1179 #line 1179 OMC_FILE
1180  goto tmp2_done;
1181  }
1182  }
1183  goto tmp2_end;
1184  tmp2_end: ;
1185  }
1186  goto goto_1;
1187  goto_1:;
1188  MMC_THROW_INTERNAL();
1189  goto tmp2_done;
1190  tmp2_done:;
1191  }
1192  }
1193  _scodeConnectorType = tmpMeta[0];
1194  _return: OMC_LABEL_UNUSED
1195  return _scodeConnectorType;
1196 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_transformationsBeforeBackend()

DLLExport modelica_metatype omc_DAEUtil_transformationsBeforeBackend ( threadData_t threadData,
modelica_metatype  _cache,
modelica_metatype  _env,
modelica_metatype  _inDAElist 
)

Definition at line 4800 of file DAEUtil.c.

4801 {
4802  modelica_metatype _outDAElist = NULL;
4803  modelica_metatype _dAElist = NULL;
4804  modelica_metatype _elts = NULL;
4805  modelica_metatype _ht = NULL;
4806  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
4807  MMC_SO();
4808  _tailrecursive: OMC_LABEL_UNUSED
4809 #line 5435 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4810  _dAElist = omc_StateMachineFlatten_stateMachineToDataFlow(threadData, _cache, _env, _inDAElist);
4811 #line 4811 OMC_FILE
4812 
4813 #line 5437 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4814  /* Pattern-matching assignment */
4815 #line 5437 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4816  tmpMeta[0] = _dAElist;
4817 #line 5437 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4818  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
4819 #line 5437 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4820  _elts = tmpMeta[1];
4821 #line 4821 OMC_FILE
4822 
4823 #line 5439 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4824  _ht = omc_FCore_getEvaluatedParams(threadData, _cache);
4825 #line 4825 OMC_FILE
4826 
4827 #line 5440 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4828  _elts = omc_List_map1(threadData, _elts, boxvar_DAEUtil_makeEvaluatedParamFinal, _ht);
4829 #line 4829 OMC_FILE
4830 
4831 #line 5442 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4832  if(omc_Flags_isSet(threadData, _OMC_LIT44))
4833 #line 5442 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4834  {
4835 #line 5443 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4837 #line 4837 OMC_FILE
4838  }
4839 
4840 #line 5445 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4841  tmpMeta[0] = mmc_mk_box2(3, &DAE_DAElist_DAE__desc, _elts);
4842 #line 5445 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4843  _outDAElist = tmpMeta[0];
4844 #line 4844 OMC_FILE
4845  _return: OMC_LABEL_UNUSED
4846  return _outDAElist;
4847 }
DLLExport modelica_boolean omc_Flags_isSet(threadData_t *threadData, modelica_metatype _inFlag)
Definition: Flags.c:11632
PROTECTED_FUNCTION_STATIC void omc_DAEUtil_transformationsBeforeBackendNotification(threadData_t *threadData, modelica_metatype _ht)
Definition: DAEUtil.c:4763
void * modelica_metatype
DLLExport modelica_metatype omc_StateMachineFlatten_stateMachineToDataFlow(threadData_t *threadData, modelica_metatype _cache, modelica_metatype _env, modelica_metatype _inDAElist)
DLLExport modelica_metatype omc_FCore_getEvaluatedParams(threadData_t *threadData, modelica_metatype _cache)
Definition: FCore.c:946
DLLExport modelica_metatype omc_List_map1(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inMapFunc, modelica_metatype _inArg1)
Definition: List.c:12846
struct record_description DAE_DAElist_DAE__desc
Definition: DAE_records.c:2591
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_transformationsBeforeBackendNotification()

PROTECTED_FUNCTION_STATIC void omc_DAEUtil_transformationsBeforeBackendNotification ( threadData_t threadData,
modelica_metatype  _ht 
)

Definition at line 4763 of file DAEUtil.c.

4764 {
4765  modelica_metatype _crs = NULL;
4766  modelica_metatype _strs = NULL;
4767  modelica_string _str = NULL;
4768  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
4769  MMC_SO();
4770  _tailrecursive: OMC_LABEL_UNUSED
4771 #line 5457 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4772  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
4773 #line 5457 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4774  _crs = omc_AvlSetCR_listKeys(threadData, _ht, tmpMeta[0]);
4775 #line 4775 OMC_FILE
4776 
4777 #line 5458 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4778  if((!listEmpty(_crs)))
4779 #line 5458 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4780  {
4781 #line 5459 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4782  _strs = omc_List_map(threadData, _crs, boxvar_ComponentReference_printComponentRefStr);
4783 #line 4783 OMC_FILE
4784 
4785 #line 5460 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4786  _str = stringDelimitList(_strs, _OMC_LIT35);
4787 #line 4787 OMC_FILE
4788 
4789 #line 5461 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4790  tmpMeta[0] = mmc_mk_cons(_str, MMC_REFSTRUCTLIT(mmc_nil));
4791 #line 5461 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
4792  omc_Error_addMessage(threadData, _OMC_LIT40, tmpMeta[0]);
4793 #line 4793 OMC_FILE
4794  }
4795  _return: OMC_LABEL_UNUSED
4796  return;
4797 }
modelica_metatype modelica_string
DLLExport modelica_metatype omc_List_map(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc)
Definition: List.c:13453
DLLExport void omc_Error_addMessage(threadData_t *threadData, modelica_metatype _inErrorMsg, modelica_metatype _inMessageTokens)
Definition: Error.c:1082
void * modelica_metatype
DLLExport modelica_metatype omc_AvlSetCR_listKeys(threadData_t *threadData, modelica_metatype _inTree, modelica_metatype _ $in_lst)
Definition: AvlSetCR.c:1040
metamodelica_string stringDelimitList(modelica_metatype lst, metamodelica_string_const delimiter)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_translateSCodeAttrToDAEAttr()

DLLExport modelica_metatype omc_DAEUtil_translateSCodeAttrToDAEAttr ( threadData_t threadData,
modelica_metatype  _inAttributes,
modelica_metatype  _inPrefixes 
)

Definition at line 3881 of file DAEUtil.c.

3882 {
3883  modelica_metatype _outAttributes = NULL;
3884  modelica_metatype _ct = NULL;
3885  modelica_metatype _prl = NULL;
3886  modelica_metatype _var = NULL;
3887  modelica_metatype _dir = NULL;
3888  modelica_metatype _io = NULL;
3889  modelica_metatype _vis = NULL;
3890  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
3891  MMC_SO();
3892  _tailrecursive: OMC_LABEL_UNUSED
3893 #line 5746 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3894  /* Pattern-matching assignment */
3895 #line 5746 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3896  tmpMeta[0] = _inAttributes;
3897 #line 5746 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3898  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
3899 #line 5746 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3900  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
3901 #line 5746 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3902  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 5));
3903 #line 5746 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3904  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 6));
3905 #line 5746 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3906  _ct = tmpMeta[1];
3907 #line 5746 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3908  _prl = tmpMeta[2];
3909 #line 5746 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3910  _var = tmpMeta[3];
3911 #line 5746 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3912  _dir = tmpMeta[4];
3913 #line 3913 OMC_FILE
3914 
3915 #line 5747 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3916  /* Pattern-matching assignment */
3917 #line 5747 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3918  tmpMeta[0] = _inPrefixes;
3919 #line 5747 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3920  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
3921 #line 5747 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3922  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 5));
3923 #line 5747 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3924  _vis = tmpMeta[1];
3925 #line 5747 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3926  _io = tmpMeta[2];
3927 #line 3927 OMC_FILE
3928 
3929 #line 5748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3930  tmpMeta[0] = mmc_mk_box7(3, &DAE_Attributes_ATTR__desc, omc_DAEUtil_toConnectorTypeNoState(threadData, _ct, mmc_mk_none()), _prl, _var, _dir, _io, _vis);
3931 #line 5748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3932  _outAttributes = tmpMeta[0];
3933 #line 3933 OMC_FILE
3934  _return: OMC_LABEL_UNUSED
3935  return _outAttributes;
3936 }
DLLExport modelica_metatype omc_DAEUtil_toConnectorTypeNoState(threadData_t *threadData, modelica_metatype _scodeConnectorType, modelica_metatype _flowName)
Definition: DAEUtil.c:17940
struct record_description DAE_Attributes_ATTR__desc
Definition: DAE_records.c:3345
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_traverseAlgorithmExps()

DLLExport modelica_metatype omc_DAEUtil_traverseAlgorithmExps ( threadData_t threadData,
modelica_metatype  _inAlgorithm,
modelica_fnptr  _func,
modelica_metatype  _inTypeA 
)

Definition at line 9270 of file DAEUtil.c.

9271 {
9272  modelica_metatype _outTypeA = NULL;
9273  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
9274  MMC_SO();
9275  _tailrecursive: OMC_LABEL_UNUSED
9276 #line 9276 OMC_FILE
9277  { /* match expression */
9278  modelica_metatype tmp3_1;
9279  tmp3_1 = _inAlgorithm;
9280  {
9281  modelica_metatype _stmts = NULL;
9282  modelica_metatype _ext_arg_1 = NULL;
9283  volatile mmc_switch_type tmp3;
9284  int tmp4;
9285  tmp3 = 0;
9286  for (; tmp3 < 1; tmp3++) {
9287  switch (MMC_SWITCH_CAST(tmp3)) {
9288  case 0: {
9289  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
9290  _stmts = tmpMeta[1];
9291  /* Pattern matching succeeded */
9292 #line 4370 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9293  omc_DAEUtil_traverseDAEEquationsStmts(threadData, _stmts, ((modelica_fnptr) _func), _inTypeA ,&_ext_arg_1);
9294 #line 9294 OMC_FILE
9295 #line 4371 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9296  tmpMeta[0] = _ext_arg_1;
9297 #line 9297 OMC_FILE
9298  goto tmp2_done;
9299  }
9300  }
9301  goto tmp2_end;
9302  tmp2_end: ;
9303  }
9304  goto goto_1;
9305  goto_1:;
9306  MMC_THROW_INTERNAL();
9307  goto tmp2_done;
9308  tmp2_done:;
9309  }
9310  }
9311  _outTypeA = tmpMeta[0];
9312  _return: OMC_LABEL_UNUSED
9313  return _outTypeA;
9314 }
float mmc_switch_type
void * modelica_fnptr
void * modelica_metatype
DLLExport modelica_metatype omc_DAEUtil_traverseDAEEquationsStmts(threadData_t *threadData, modelica_metatype _inStmts, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:9255
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_traverseDAE()

DLLExport modelica_metatype omc_DAEUtil_traverseDAE ( threadData_t threadData,
modelica_metatype $in_dae,
modelica_metatype $in_functionTree,
modelica_fnptr  _func,
modelica_metatype $in_arg,
modelica_metatype out_functionTree,
modelica_metatype out_arg 
)

Definition at line 11338 of file DAEUtil.c.

11339 {
11340  modelica_metatype _dae = NULL;
11341  modelica_metatype _functionTree = NULL;
11342  modelica_metatype _arg = NULL;
11343  modelica_metatype _el = NULL;
11344  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
11345  MMC_SO();
11346  _tailrecursive: OMC_LABEL_UNUSED
11347  _dae = _$in_dae;
11348  _functionTree = _$in_functionTree;
11349  _arg = _$in_arg;
11350 #line 3884 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11351  _el = omc_DAEUtil_traverseDAEElementList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_dae), 2))), ((modelica_fnptr) _func), _arg ,&_arg);
11352 #line 11352 OMC_FILE
11353 
11354 #line 3885 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11355  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(3));
11356 #line 3885 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11357  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_dae), 3*sizeof(modelica_metatype));
11358 #line 3885 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11359  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _el;
11360 #line 3885 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11361  _dae = tmpMeta[0];
11362 #line 11362 OMC_FILE
11363 
11364 #line 3886 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11365  tmpMeta[0] = mmc_mk_box1(0, ((modelica_fnptr) _func));
11366 #line 3886 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11367  _functionTree = omc_DAE_AvlTreePathFunction_mapFold(threadData, _functionTree, (modelica_fnptr) mmc_mk_box2(0,closure2_DAEUtil_traverseDAEFuncHelper,tmpMeta[0]), _arg ,&_arg);
11368 #line 11368 OMC_FILE
11369  _return: OMC_LABEL_UNUSED
11370  if (out_functionTree) { *out_functionTree = _functionTree; }
11371  if (out_arg) { *out_arg = _arg; }
11372  return _dae;
11373 }
DLLExport modelica_metatype omc_DAEUtil_traverseDAEElementList(threadData_t *threadData, modelica_metatype _ $in_elements, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
Definition: DAEUtil.c:11074
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
void * modelica_fnptr
void * modelica_metatype
DLLExport modelica_metatype omc_DAE_AvlTreePathFunction_mapFold(threadData_t *threadData, modelica_metatype _inTree, modelica_fnptr _inFunc, modelica_metatype _inStartValue, modelica_metatype *out_outResult)
Definition: DAE.c:1908
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_traverseDAEElement()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEElement ( threadData_t threadData,
modelica_metatype $in_element,
modelica_fnptr  _func,
modelica_metatype $in_arg,
modelica_metatype out_arg 
)

Definition at line 9316 of file DAEUtil.c.

9317 {
9318  modelica_metatype _element = NULL;
9319  modelica_metatype _arg = NULL;
9320  modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
9321  MMC_SO();
9322  _tailrecursive: OMC_LABEL_UNUSED
9323  _element = _$in_element;
9324  _arg = _$in_arg;
9325 #line 9325 OMC_FILE
9326  { /* match expression */
9327  modelica_metatype tmp3_1;
9328  tmp3_1 = _element;
9329  {
9330  modelica_metatype _e1 = NULL;
9331  modelica_metatype _e2 = NULL;
9332  modelica_metatype _e3 = NULL;
9333  modelica_metatype _new_e1 = NULL;
9334  modelica_metatype _new_e2 = NULL;
9335  modelica_metatype _new_e3 = NULL;
9336  modelica_metatype _cr1 = NULL;
9337  modelica_metatype _cr2 = NULL;
9338  modelica_metatype _new_cr1 = NULL;
9339  modelica_metatype _new_cr2 = NULL;
9340  modelica_metatype _el = NULL;
9341  modelica_metatype _new_el = NULL;
9342  modelica_metatype _eqll = NULL;
9343  modelica_metatype _new_eqll = NULL;
9344  modelica_metatype _e = NULL;
9345  modelica_metatype _new_e = NULL;
9346  modelica_metatype _stmts = NULL;
9347  modelica_metatype _new_stmts = NULL;
9348  modelica_metatype _expl = NULL;
9349  modelica_metatype _new_expl = NULL;
9350  modelica_metatype _binding = NULL;
9351  modelica_metatype _new_binding = NULL;
9352  modelica_metatype _attr = NULL;
9353  modelica_metatype _new_attr = NULL;
9354  modelica_metatype _varLst = NULL;
9355  modelica_metatype _daebinding = NULL;
9356  modelica_metatype _new_daebinding = NULL;
9357  modelica_boolean _changed;
9358  modelica_metatype _new_ty = NULL;
9359  volatile mmc_switch_type tmp3;
9360  int tmp4;
9361  tmp3 = 0;
9362  for (; tmp3 < 31; tmp3++) {
9363  switch (MMC_SWITCH_CAST(tmp3)) {
9364  case 0: {
9365  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,13) == 0) goto tmp2_end;
9366  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
9367  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 8));
9368  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 12));
9369 
9370  _cr1 = tmpMeta[0];
9371  _binding = tmpMeta[1];
9372  _attr = tmpMeta[2];
9373  /* Pattern matching succeeded */
9374 #line 4025 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9375  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), omc_Expression_crefExp(threadData, _cr1), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, omc_Expression_crefExp(threadData, _cr1), _arg ,&_arg);
9376 #line 9376 OMC_FILE
9377 
9378 #line 4027 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9379  if(omc_Expression_isCref(threadData, _e1))
9380 #line 4027 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9381  {
9382 #line 4028 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9383  _new_cr1 = omc_Expression_expCref(threadData, _e1);
9384 #line 9384 OMC_FILE
9385 
9386 #line 4029 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9387  if((!referenceEq(_cr1, _new_cr1)))
9388 #line 4029 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9389  {
9390 #line 4030 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9391  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(15));
9392 #line 4030 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9393  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 15*sizeof(modelica_metatype));
9394 #line 4030 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9395  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_cr1;
9396 #line 4030 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9397  _element = tmpMeta[0];
9398 #line 9398 OMC_FILE
9399  }
9400  }
9401 
9402 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9403  {
9404 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9405  modelica_metatype _$tmpVar1;
9406 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9407  modelica_metatype* tmp5;
9408 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9409  modelica_metatype _$tmpVar0;
9410 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9411  int tmp11;
9412 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9413  modelica_metatype d_loopVar = 0;
9414 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9415  modelica_metatype _d;
9416 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9417  d_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_element), 9)));
9418 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9419  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
9420 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9421  _$tmpVar1 = tmpMeta[2]; /* defaultValue */
9422 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9423  tmp5 = &_$tmpVar1;
9424 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9425  while(1) {
9426 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9427  tmp11 = 1;
9428 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9429  if (!listEmpty(d_loopVar)) {
9430 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9431  _d = MMC_CAR(d_loopVar);
9432 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9433  d_loopVar = MMC_CDR(d_loopVar);
9434 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9435  tmp11--;
9436 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9437  }
9438 #line 4034 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9439  if (tmp11 == 0) {
9440 #line 9440 OMC_FILE
9441  { /* match expression */
9442  modelica_metatype tmp8_1;
9443  tmp8_1 = _d;
9444  {
9445  volatile mmc_switch_type tmp8;
9446  int tmp9;
9447  tmp8 = 0;
9448  for (; tmp8 < 2; tmp8++) {
9449  switch (MMC_SWITCH_CAST(tmp8)) {
9450  case 0: {
9451  modelica_boolean tmp10;
9452  if (mmc__uniontype__metarecord__typedef__equal(tmp8_1,3,1) == 0) goto tmp7_end;
9453  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp8_1), 2));
9454  _e1 = tmpMeta[4];
9455  /* Pattern matching succeeded */
9456 #line 4037 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9457  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
9458 #line 9458 OMC_FILE
9459 #line 4038 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9460  tmp10 = (modelica_boolean)referenceEq(_e1, _new_e1);
9461 #line 4038 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9462  if(tmp10)
9463 #line 4038 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9464  {
9465 #line 4038 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9466  tmpMeta[5] = _d;
9467 #line 4038 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9468  }
9469 #line 4038 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9470  else
9471 #line 4038 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9472  {
9473 #line 4038 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9474  tmpMeta[4] = mmc_mk_box2(6, &DAE_Dimension_DIM__EXP__desc, _new_e1);
9475 #line 4038 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9476  tmpMeta[5] = tmpMeta[4];
9477 #line 4038 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9478  }
9479 #line 4038 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9480  tmpMeta[3] = tmpMeta[5];
9481 #line 9481 OMC_FILE
9482  goto tmp7_done;
9483  }
9484  case 1: {
9485 
9486  /* Pattern matching succeeded */
9487 #line 4040 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9488  tmpMeta[3] = _d;
9489 #line 9489 OMC_FILE
9490  goto tmp7_done;
9491  }
9492  }
9493  goto tmp7_end;
9494  tmp7_end: ;
9495  }
9496  goto goto_6;
9497  goto_6:;
9498  goto goto_1;
9499  goto tmp7_done;
9500  tmp7_done:;
9501  }
9502  }_$tmpVar0 = tmpMeta[3];
9503  *tmp5 = mmc_mk_cons(_$tmpVar0,0);
9504  tmp5 = &MMC_CDR(*tmp5);
9505  } else if (tmp11 == 1) {
9506  break;
9507  } else {
9508  goto goto_1;
9509  }
9510  }
9511  *tmp5 = mmc_mk_nil();
9512  tmpMeta[1] = _$tmpVar1;
9513  }
9514  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(15));
9515  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 15*sizeof(modelica_metatype));
9516  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[9] = tmpMeta[1];
9517  _element = tmpMeta[0];
9518 
9519 #line 9519 OMC_FILE
9520  { /* match expression */
9521  modelica_metatype tmp14_1;modelica_metatype _ty;
9522  tmp14_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_element), 7)));
9523  _ty = tmp14_1;
9524  {
9525  volatile mmc_switch_type tmp14;
9526  int tmp15;
9527  tmp14 = 0;
9528  for (; tmp14 < 2; tmp14++) {
9529  switch (MMC_SWITCH_CAST(tmp14)) {
9530  case 0: {
9531  if (mmc__uniontype__metarecord__typedef__equal(tmp14_1,9,3) == 0) goto tmp13_end;
9532  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp14_1), 2));
9533  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,1) == 0) goto tmp13_end;
9534 
9535  /* Pattern matching succeeded */
9536 #line 4046 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9537  _changed = 0;
9538 #line 9538 OMC_FILE
9539 
9540 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9541  {
9542 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9543  modelica_metatype _$tmpVar3;
9544 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9545  modelica_metatype* tmp16;
9546 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9547  modelica_metatype _$tmpVar2;
9548 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9549  int tmp21;
9550 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9551  modelica_metatype v_loopVar = 0;
9552 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9553  modelica_metatype _v;
9554 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9555  v_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_ty), 3)));
9556 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9557  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
9558 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9559  _$tmpVar3 = tmpMeta[2]; /* defaultValue */
9560 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9561  tmp16 = &_$tmpVar3;
9562 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9563  while(1) {
9564 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9565  tmp21 = 1;
9566 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9567  if (!listEmpty(v_loopVar)) {
9568 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9569  _v = MMC_CAR(v_loopVar);
9570 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9571  v_loopVar = MMC_CDR(v_loopVar);
9572 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9573  tmp21--;
9574 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9575  }
9576 #line 4047 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9577  if (tmp21 == 0) {
9578 #line 9578 OMC_FILE
9579  { /* match expression */
9580  modelica_metatype tmp19_1;
9581  tmp19_1 = _v;
9582  {
9583  volatile mmc_switch_type tmp19;
9584  int tmp20;
9585  tmp19 = 0;
9586  for (; tmp19 < 3; tmp19++) {
9587  switch (MMC_SWITCH_CAST(tmp19)) {
9588  case 0: {
9589  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp19_1), 5));
9590  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],1,4) == 0) goto tmp18_end;
9591 
9592  _daebinding = tmpMeta[4];
9593  /* Pattern matching succeeded */
9594 #line 4051 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9595  _e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_daebinding), 2))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_daebinding), 2))), _arg ,&_arg);
9596 #line 9596 OMC_FILE
9597 
9598 #line 4052 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9599  if((!referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_daebinding), 2))), _e2)))
9600 #line 4052 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9601  {
9602 #line 4053 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9603  tmpMeta[4] = mmc_mk_box5(4, &DAE_Binding_EQBOUND__desc, _e2, mmc_mk_none(), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_daebinding), 4))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_daebinding), 5))));
9604 #line 4053 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9605  _daebinding = tmpMeta[4];
9606 #line 9606 OMC_FILE
9607 
9608 #line 4054 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9609  tmpMeta[4] = MMC_TAGPTR(mmc_alloc_words(7));
9610 #line 4054 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9611  memcpy(MMC_UNTAGPTR(tmpMeta[4]), MMC_UNTAGPTR(_v), 7*sizeof(modelica_metatype));
9612 #line 4054 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9613  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[4]))[5] = _daebinding;
9614 #line 4054 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9615  _v = tmpMeta[4];
9616 #line 9616 OMC_FILE
9617 
9618 #line 4055 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9619  _changed = 1;
9620 #line 9620 OMC_FILE
9621  }
9622 #line 4057 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9623  tmpMeta[3] = _v;
9624 #line 9624 OMC_FILE
9625  goto tmp18_done;
9626  }
9627  case 1: {
9628  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp19_1), 5));
9629  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],2,2) == 0) goto tmp18_end;
9630 
9631  _daebinding = tmpMeta[4];
9632  /* Pattern matching succeeded */
9633 #line 4060 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9634  _e1 = omc_ValuesUtil_valueExp(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_daebinding), 2))));
9635 #line 9635 OMC_FILE
9636 
9637 #line 4061 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9638  _e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
9639 #line 9639 OMC_FILE
9640 
9641 #line 4062 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9642  if((!referenceEq(_e1, _e2)))
9643 #line 4062 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9644  {
9645 #line 4063 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9646  tmpMeta[4] = mmc_mk_box5(4, &DAE_Binding_EQBOUND__desc, _e2, mmc_mk_none(), _OMC_LIT76, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_daebinding), 3))));
9647 #line 4063 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9648  _new_daebinding = tmpMeta[4];
9649 #line 9649 OMC_FILE
9650 
9651 #line 4064 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9652  tmpMeta[4] = MMC_TAGPTR(mmc_alloc_words(7));
9653 #line 4064 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9654  memcpy(MMC_UNTAGPTR(tmpMeta[4]), MMC_UNTAGPTR(_v), 7*sizeof(modelica_metatype));
9655 #line 4064 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9656  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[4]))[5] = _new_daebinding;
9657 #line 4064 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9658  _v = tmpMeta[4];
9659 #line 9659 OMC_FILE
9660 
9661 #line 4065 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9662  _changed = 1;
9663 #line 9663 OMC_FILE
9664  }
9665 #line 4067 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9666  tmpMeta[3] = _v;
9667 #line 9667 OMC_FILE
9668  goto tmp18_done;
9669  }
9670  case 2: {
9671 
9672  /* Pattern matching succeeded */
9673 #line 4068 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9674  tmpMeta[3] = _v;
9675 #line 9675 OMC_FILE
9676  goto tmp18_done;
9677  }
9678  }
9679  goto tmp18_end;
9680  tmp18_end: ;
9681  }
9682  goto goto_17;
9683  goto_17:;
9684  goto goto_12;
9685  goto tmp18_done;
9686  tmp18_done:;
9687  }
9688  }_$tmpVar2 = tmpMeta[3];
9689  *tmp16 = mmc_mk_cons(_$tmpVar2,0);
9690  tmp16 = &MMC_CDR(*tmp16);
9691  } else if (tmp21 == 1) {
9692  break;
9693  } else {
9694  goto goto_12;
9695  }
9696  }
9697  *tmp16 = mmc_mk_nil();
9698  tmpMeta[1] = _$tmpVar3;
9699  }
9700  _varLst = tmpMeta[1];
9701 
9702 #line 4072 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9703  if((!referenceEq(_varLst, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_ty), 3))))))
9704 #line 4072 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9705  {
9706 #line 4073 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9707  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(5));
9708 #line 4073 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9709  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_ty), 5*sizeof(modelica_metatype));
9710 #line 4073 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9711  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[3] = _varLst;
9712 #line 4073 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9713  _ty = tmpMeta[1];
9714 #line 9714 OMC_FILE
9715  }
9716 #line 4075 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9717  tmpMeta[0] = _ty;
9718 #line 9718 OMC_FILE
9719  goto tmp13_done;
9720  }
9721  case 1: {
9722 
9723  /* Pattern matching succeeded */
9724 #line 4076 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9725  tmpMeta[0] = _ty;
9726 #line 9726 OMC_FILE
9727  goto tmp13_done;
9728  }
9729  }
9730  goto tmp13_end;
9731  tmp13_end: ;
9732  }
9733  goto goto_12;
9734  goto_12:;
9735  goto goto_1;
9736  goto tmp13_done;
9737  tmp13_done:;
9738  }
9739  }
9740  _new_ty = tmpMeta[0];
9741 
9742 #line 4079 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9743  if((!referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_element), 7))), _new_ty)))
9744 #line 4079 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9745  {
9746 #line 4079 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9747  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(15));
9748 #line 4079 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9749  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 15*sizeof(modelica_metatype));
9750 #line 4079 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9751  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[7] = _new_ty;
9752 #line 4079 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9753  _element = tmpMeta[0];
9754 #line 9754 OMC_FILE
9755  }
9756 
9757 #line 4081 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9758  _new_binding = omc_DAEUtil_traverseDAEOptExp(threadData, _binding, ((modelica_fnptr) _func), _arg ,&_arg);
9759 #line 9759 OMC_FILE
9760 
9761 #line 4082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9762  if((!referenceEq(_binding, _new_binding)))
9763 #line 4082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9764  {
9765 #line 4082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9766  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(15));
9767 #line 4082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9768  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 15*sizeof(modelica_metatype));
9769 #line 4082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9770  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[8] = _new_binding;
9771 #line 4082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9772  _element = tmpMeta[0];
9773 #line 9773 OMC_FILE
9774  }
9775 
9776 #line 4083 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9777  _new_attr = omc_DAEUtil_traverseDAEVarAttr(threadData, _attr, ((modelica_fnptr) _func), _arg ,&_arg);
9778 #line 9778 OMC_FILE
9779 
9780 #line 4084 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9781  if((!referenceEq(_attr, _new_attr)))
9782 #line 4084 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9783  {
9784 #line 4085 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9785  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(15));
9786 #line 4085 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9787  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 15*sizeof(modelica_metatype));
9788 #line 4085 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9789  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[12] = _new_attr;
9790 #line 4085 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9791  _element = tmpMeta[0];
9792 #line 9792 OMC_FILE
9793  }
9794 #line 9794 OMC_FILE
9795  goto tmp2_done;
9796  }
9797  case 1: {
9798  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,3) == 0) goto tmp2_end;
9799  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
9800  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
9801 
9802  _cr1 = tmpMeta[0];
9803  _e1 = tmpMeta[1];
9804  /* Pattern matching succeeded */
9805 #line 4092 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9806  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
9807 #line 9807 OMC_FILE
9808 
9809 #line 4093 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9810  if((!referenceEq(_e1, _new_e1)))
9811 #line 4093 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9812  {
9813 #line 4093 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9814  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
9815 #line 4093 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9816  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
9817 #line 4093 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9818  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_e1;
9819 #line 4093 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9820  _element = tmpMeta[0];
9821 #line 9821 OMC_FILE
9822  }
9823 
9824 #line 4094 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9825  /* Pattern-matching tuple assignment */
9826 #line 4094 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9827  tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), omc_Expression_crefExp(threadData, _cr1), _arg, &tmpMeta[0]) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, omc_Expression_crefExp(threadData, _cr1), _arg, &tmpMeta[0]);
9828 #line 4094 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9829  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],6,2) == 0) goto goto_1;
9830 #line 4094 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9831  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
9832 #line 4094 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9833  _new_cr1 = tmpMeta[2];
9834 #line 4094 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9835  _arg = tmpMeta[0];
9836 #line 9836 OMC_FILE
9837 
9838 #line 4095 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9839  if((!referenceEq(_cr1, _new_cr1)))
9840 #line 4095 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9841  {
9842 #line 4095 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9843  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
9844 #line 4095 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9845  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
9846 #line 4095 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9847  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_cr1;
9848 #line 4095 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9849  _element = tmpMeta[0];
9850 #line 9850 OMC_FILE
9851  }
9852 #line 9852 OMC_FILE
9853  goto tmp2_done;
9854  }
9855  case 2: {
9856  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,2,3) == 0) goto tmp2_end;
9857  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
9858  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
9859 
9860  _cr1 = tmpMeta[0];
9861  _e1 = tmpMeta[1];
9862  /* Pattern matching succeeded */
9863 #line 4101 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9864  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
9865 #line 9865 OMC_FILE
9866 
9867 #line 4102 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9868  if((!referenceEq(_e1, _new_e1)))
9869 #line 4102 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9870  {
9871 #line 4102 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9872  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
9873 #line 4102 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9874  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
9875 #line 4102 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9876  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_e1;
9877 #line 4102 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9878  _element = tmpMeta[0];
9879 #line 9879 OMC_FILE
9880  }
9881 
9882 #line 4103 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9883  /* Pattern-matching tuple assignment */
9884 #line 4103 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9885  tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), omc_Expression_crefExp(threadData, _cr1), _arg, &tmpMeta[0]) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, omc_Expression_crefExp(threadData, _cr1), _arg, &tmpMeta[0]);
9886 #line 4103 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9887  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],6,2) == 0) goto goto_1;
9888 #line 4103 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9889  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
9890 #line 4103 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9891  _new_cr1 = tmpMeta[2];
9892 #line 4103 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9893  _arg = tmpMeta[0];
9894 #line 9894 OMC_FILE
9895 
9896 #line 4104 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9897  if((!referenceEq(_cr1, _new_cr1)))
9898 #line 4104 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9899  {
9900 #line 4104 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9901  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
9902 #line 4104 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9903  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
9904 #line 4104 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9905  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_cr1;
9906 #line 4104 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9907  _element = tmpMeta[0];
9908 #line 9908 OMC_FILE
9909  }
9910 #line 9910 OMC_FILE
9911  goto tmp2_done;
9912  }
9913  case 3: {
9914  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,4,3) == 0) goto tmp2_end;
9915  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
9916  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
9917 
9918  _cr1 = tmpMeta[0];
9919  _cr2 = tmpMeta[1];
9920  /* Pattern matching succeeded */
9921 #line 4110 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9922  /* Pattern-matching tuple assignment */
9923 #line 4110 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9924  tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), omc_Expression_crefExp(threadData, _cr1), _arg, &tmpMeta[0]) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, omc_Expression_crefExp(threadData, _cr1), _arg, &tmpMeta[0]);
9925 #line 4110 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9926  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],6,2) == 0) goto goto_1;
9927 #line 4110 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9928  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
9929 #line 4110 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9930  _new_cr1 = tmpMeta[2];
9931 #line 4110 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9932  _arg = tmpMeta[0];
9933 #line 9933 OMC_FILE
9934 
9935 #line 4111 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9936  if((!referenceEq(_cr1, _new_cr1)))
9937 #line 4111 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9938  {
9939 #line 4111 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9940  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
9941 #line 4111 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9942  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
9943 #line 4111 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9944  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_cr1;
9945 #line 4111 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9946  _element = tmpMeta[0];
9947 #line 9947 OMC_FILE
9948  }
9949 
9950 #line 4112 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9951  /* Pattern-matching tuple assignment */
9952 #line 4112 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9953  tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), omc_Expression_crefExp(threadData, _cr2), _arg, &tmpMeta[0]) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, omc_Expression_crefExp(threadData, _cr2), _arg, &tmpMeta[0]);
9954 #line 4112 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9955  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],6,2) == 0) goto goto_1;
9956 #line 4112 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9957  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
9958 #line 4112 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9959  _new_cr2 = tmpMeta[2];
9960 #line 4112 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9961  _arg = tmpMeta[0];
9962 #line 9962 OMC_FILE
9963 
9964 #line 4113 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9965  if((!referenceEq(_cr2, _new_cr2)))
9966 #line 4113 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9967  {
9968 #line 4113 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9969  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
9970 #line 4113 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9971  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
9972 #line 4113 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9973  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_cr2;
9974 #line 4113 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9975  _element = tmpMeta[0];
9976 #line 9976 OMC_FILE
9977  }
9978 #line 9978 OMC_FILE
9979  goto tmp2_done;
9980  }
9981  case 4: {
9982  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,3,3) == 0) goto tmp2_end;
9983  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
9984  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
9985 
9986  _e1 = tmpMeta[0];
9987  _e2 = tmpMeta[1];
9988  /* Pattern matching succeeded */
9989 #line 4119 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9990  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
9991 #line 9991 OMC_FILE
9992 
9993 #line 4120 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9994  if((!referenceEq(_e1, _new_e1)))
9995 #line 4120 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9996  {
9997 #line 4120 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9998  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
9999 #line 4120 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10000  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
10001 #line 4120 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10002  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_e1;
10003 #line 4120 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10004  _element = tmpMeta[0];
10005 #line 10005 OMC_FILE
10006  }
10007 
10008 #line 4121 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10009  _new_e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _arg ,&_arg);
10010 #line 10010 OMC_FILE
10011 
10012 #line 4122 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10013  if((!referenceEq(_e2, _new_e2)))
10014 #line 4122 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10015  {
10016 #line 4122 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10017  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
10018 #line 4122 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10019  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
10020 #line 4122 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10021  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_e2;
10022 #line 4122 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10023  _element = tmpMeta[0];
10024 #line 10024 OMC_FILE
10025  }
10026 #line 10026 OMC_FILE
10027  goto tmp2_done;
10028  }
10029  case 5: {
10030  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,14,3) == 0) goto tmp2_end;
10031  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10032  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
10033 
10034  _e1 = tmpMeta[0];
10035  _e2 = tmpMeta[1];
10036  /* Pattern matching succeeded */
10037 #line 4128 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10038  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
10039 #line 10039 OMC_FILE
10040 
10041 #line 4129 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10042  if((!referenceEq(_e1, _new_e1)))
10043 #line 4129 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10044  {
10045 #line 4129 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10046  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
10047 #line 4129 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10048  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
10049 #line 4129 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10050  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_e1;
10051 #line 4129 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10052  _element = tmpMeta[0];
10053 #line 10053 OMC_FILE
10054  }
10055 
10056 #line 4130 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10057  _new_e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _arg ,&_arg);
10058 #line 10058 OMC_FILE
10059 
10060 #line 4131 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10061  if((!referenceEq(_e2, _new_e2)))
10062 #line 4131 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10063  {
10064 #line 4131 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10065  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
10066 #line 4131 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10067  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
10068 #line 4131 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10069  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_e2;
10070 #line 4131 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10071  _element = tmpMeta[0];
10072 #line 10072 OMC_FILE
10073  }
10074 #line 10074 OMC_FILE
10075  goto tmp2_done;
10076  }
10077  case 6: {
10078  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,8,3) == 0) goto tmp2_end;
10079  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10080  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
10081 
10082  _e1 = tmpMeta[0];
10083  _e2 = tmpMeta[1];
10084  /* Pattern matching succeeded */
10085 #line 4137 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10086  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
10087 #line 10087 OMC_FILE
10088 
10089 #line 4138 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10090  if((!referenceEq(_e1, _new_e1)))
10091 #line 4138 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10092  {
10093 #line 4138 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10094  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
10095 #line 4138 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10096  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
10097 #line 4138 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10098  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_e1;
10099 #line 4138 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10100  _element = tmpMeta[0];
10101 #line 10101 OMC_FILE
10102  }
10103 
10104 #line 4139 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10105  _new_e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _arg ,&_arg);
10106 #line 10106 OMC_FILE
10107 
10108 #line 4140 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10109  if((!referenceEq(_e2, _new_e2)))
10110 #line 4140 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10111  {
10112 #line 4140 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10113  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
10114 #line 4140 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10115  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
10116 #line 4140 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10117  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_e2;
10118 #line 4140 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10119  _element = tmpMeta[0];
10120 #line 10120 OMC_FILE
10121  }
10122 #line 10122 OMC_FILE
10123  goto tmp2_done;
10124  }
10125  case 7: {
10126  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,3) == 0) goto tmp2_end;
10127  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10128  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
10129 
10130  _e1 = tmpMeta[0];
10131  _e2 = tmpMeta[1];
10132  /* Pattern matching succeeded */
10133 #line 4146 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10134  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
10135 #line 10135 OMC_FILE
10136 
10137 #line 4147 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10138  if((!referenceEq(_e1, _new_e1)))
10139 #line 4147 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10140  {
10141 #line 4147 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10142  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
10143 #line 4147 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10144  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
10145 #line 4147 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10146  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_e1;
10147 #line 4147 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10148  _element = tmpMeta[0];
10149 #line 10149 OMC_FILE
10150  }
10151 
10152 #line 4148 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10153  _new_e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _arg ,&_arg);
10154 #line 10154 OMC_FILE
10155 
10156 #line 4149 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10157  if((!referenceEq(_e2, _new_e2)))
10158 #line 4149 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10159  {
10160 #line 4149 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10161  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
10162 #line 4149 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10163  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
10164 #line 4149 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10165  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_e2;
10166 #line 4149 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10167  _element = tmpMeta[0];
10168 #line 10168 OMC_FILE
10169  }
10170 #line 10170 OMC_FILE
10171  goto tmp2_done;
10172  }
10173  case 8: {
10174  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,4) == 0) goto tmp2_end;
10175  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
10176  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
10177 
10178  _e1 = tmpMeta[0];
10179  _e2 = tmpMeta[1];
10180  /* Pattern matching succeeded */
10181 #line 4155 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10182  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
10183 #line 10183 OMC_FILE
10184 
10185 #line 4156 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10186  if((!referenceEq(_e1, _new_e1)))
10187 #line 4156 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10188  {
10189 #line 4156 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10190  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10191 #line 4156 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10192  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10193 #line 4156 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10194  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_e1;
10195 #line 4156 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10196  _element = tmpMeta[0];
10197 #line 10197 OMC_FILE
10198  }
10199 
10200 #line 4157 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10201  _new_e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _arg ,&_arg);
10202 #line 10202 OMC_FILE
10203 
10204 #line 4158 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10205  if((!referenceEq(_e2, _new_e2)))
10206 #line 4158 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10207  {
10208 #line 4158 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10209  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10210 #line 4158 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10211  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10212 #line 4158 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10213  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[4] = _new_e2;
10214 #line 4158 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10215  _element = tmpMeta[0];
10216 #line 10216 OMC_FILE
10217  }
10218 #line 10218 OMC_FILE
10219  goto tmp2_done;
10220  }
10221  case 9: {
10222  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,6,4) == 0) goto tmp2_end;
10223  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
10224  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
10225 
10226  _e1 = tmpMeta[0];
10227  _e2 = tmpMeta[1];
10228  /* Pattern matching succeeded */
10229 #line 4164 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10230  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
10231 #line 10231 OMC_FILE
10232 
10233 #line 4165 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10234  if((!referenceEq(_e1, _new_e1)))
10235 #line 4165 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10236  {
10237 #line 4165 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10238  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10239 #line 4165 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10240  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10241 #line 4165 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10242  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_e1;
10243 #line 4165 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10244  _element = tmpMeta[0];
10245 #line 10245 OMC_FILE
10246  }
10247 
10248 #line 4166 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10249  _new_e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _arg ,&_arg);
10250 #line 10250 OMC_FILE
10251 
10252 #line 4167 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10253  if((!referenceEq(_e2, _new_e2)))
10254 #line 4167 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10255  {
10256 #line 4167 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10257  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10258 #line 4167 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10259  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10260 #line 4167 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10261  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[4] = _new_e2;
10262 #line 4167 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10263  _element = tmpMeta[0];
10264 #line 10264 OMC_FILE
10265  }
10266 #line 10266 OMC_FILE
10267  goto tmp2_done;
10268  }
10269  case 10: {
10270  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,10,4) == 0) goto tmp2_end;
10271  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10272  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
10273 
10274  _e1 = tmpMeta[0];
10275  _el = tmpMeta[1];
10276  /* Pattern matching succeeded */
10277 #line 4173 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10278  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
10279 #line 10279 OMC_FILE
10280 
10281 #line 4174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10282  if((!referenceEq(_e1, _new_e1)))
10283 #line 4174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10284  {
10285 #line 4174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10286  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10287 #line 4174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10288  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10289 #line 4174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10290  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_e1;
10291 #line 4174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10292  _element = tmpMeta[0];
10293 #line 10293 OMC_FILE
10294  }
10295 
10296 #line 4175 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10297  _new_el = omc_DAEUtil_traverseDAEElementList(threadData, _el, ((modelica_fnptr) _func), _arg ,&_arg);
10298 #line 10298 OMC_FILE
10299 
10300 #line 4176 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10301  if((!referenceEq(_el, _new_el)))
10302 #line 4176 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10303  {
10304 #line 4176 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10305  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10306 #line 4176 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10307  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10308 #line 4176 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10309  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_el;
10310 #line 4176 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10311  _element = tmpMeta[0];
10312 #line 10312 OMC_FILE
10313  }
10314 
10315 #line 4178 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10316  if(isSome((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_element), 4)))))
10317 #line 4178 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10318  {
10319 #line 4179 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10320  /* Pattern-matching assignment */
10321 #line 4179 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10322  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_element), 4)));
10323 #line 4179 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10324  if (optionNone(tmpMeta[0])) goto goto_1;
10325 #line 4179 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10326  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1));
10327 #line 4179 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10328  _e = tmpMeta[1];
10329 #line 10329 OMC_FILE
10330 
10331 #line 4180 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10332  _new_e = omc_DAEUtil_traverseDAEElement(threadData, _e, ((modelica_fnptr) _func), _arg ,&_arg);
10333 #line 10333 OMC_FILE
10334 
10335 #line 4181 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10336  if((!referenceEq(_e, _new_e)))
10337 #line 4181 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10338  {
10339 #line 4181 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10340  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10341 #line 4181 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10342  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10343 #line 4181 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10344  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[4] = mmc_mk_some(_new_e);
10345 #line 4181 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10346  _element = tmpMeta[0];
10347 #line 10347 OMC_FILE
10348  }
10349  }
10350 #line 10350 OMC_FILE
10351  goto tmp2_done;
10352  }
10353  case 11: {
10354  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,11,7) == 0) goto tmp2_end;
10355  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 6));
10356  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 7));
10357 
10358  _e1 = tmpMeta[0];
10359  _el = tmpMeta[1];
10360  /* Pattern matching succeeded */
10361 #line 4188 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10362  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
10363 #line 10363 OMC_FILE
10364 
10365 #line 4189 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10366  if((!referenceEq(_e1, _new_e1)))
10367 #line 4189 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10368  {
10369 #line 4189 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10370  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(9));
10371 #line 4189 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10372  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 9*sizeof(modelica_metatype));
10373 #line 4189 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10374  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[6] = _new_e1;
10375 #line 4189 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10376  _element = tmpMeta[0];
10377 #line 10377 OMC_FILE
10378  }
10379 
10380 #line 4190 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10381  _new_el = omc_DAEUtil_traverseDAEElementList(threadData, _el, ((modelica_fnptr) _func), _arg ,&_arg);
10382 #line 10382 OMC_FILE
10383 
10384 #line 4191 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10385  if((!referenceEq(_el, _new_el)))
10386 #line 4191 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10387  {
10388 #line 4191 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10389  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(9));
10390 #line 4191 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10391  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 9*sizeof(modelica_metatype));
10392 #line 4191 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10393  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[7] = _new_el;
10394 #line 4191 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10395  _element = tmpMeta[0];
10396 #line 10396 OMC_FILE
10397  }
10398 #line 10398 OMC_FILE
10399  goto tmp2_done;
10400  }
10401  case 12: {
10402  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,17,4) == 0) goto tmp2_end;
10403  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
10404 
10405  _el = tmpMeta[0];
10406  /* Pattern matching succeeded */
10407 #line 4197 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10408  _new_el = omc_DAEUtil_traverseDAEElementList(threadData, _el, ((modelica_fnptr) _func), _arg ,&_arg);
10409 #line 10409 OMC_FILE
10410 
10411 #line 4198 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10412  if((!referenceEq(_el, _new_el)))
10413 #line 4198 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10414  {
10415 #line 4198 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10416  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10417 #line 4198 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10418  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10419 #line 4198 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10420  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_el;
10421 #line 4198 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10422  _element = tmpMeta[0];
10423 #line 10423 OMC_FILE
10424  }
10425 #line 10425 OMC_FILE
10426  goto tmp2_done;
10427  }
10428  case 13: {
10429  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,18,2) == 0) goto tmp2_end;
10430 
10431  /* Pattern matching succeeded */
10432 #line 10432 OMC_FILE
10433  goto tmp2_done;
10434  }
10435  case 14: {
10436  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,19,4) == 0) goto tmp2_end;
10437  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10438  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
10439  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
10440 
10441  _e1 = tmpMeta[0];
10442  _e2 = tmpMeta[1];
10443  _e3 = tmpMeta[2];
10444  /* Pattern matching succeeded */
10445 #line 4206 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10446  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
10447 #line 10447 OMC_FILE
10448 
10449 #line 4207 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10450  if((!referenceEq(_e1, _new_e1)))
10451 #line 4207 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10452  {
10453 #line 4207 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10454  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10455 #line 4207 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10456  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10457 #line 4207 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10458  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_e1;
10459 #line 4207 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10460  _element = tmpMeta[0];
10461 #line 10461 OMC_FILE
10462  }
10463 
10464 #line 4208 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10465  _new_e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _arg ,&_arg);
10466 #line 10466 OMC_FILE
10467 
10468 #line 4209 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10469  if((!referenceEq(_e2, _new_e2)))
10470 #line 4209 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10471  {
10472 #line 4209 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10473  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10474 #line 4209 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10475  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10476 #line 4209 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10477  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_e2;
10478 #line 4209 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10479  _element = tmpMeta[0];
10480 #line 10480 OMC_FILE
10481  }
10482 
10483 #line 4210 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10484  _new_e3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e3, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e3, _arg ,&_arg);
10485 #line 10485 OMC_FILE
10486 
10487 #line 4211 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10488  if((!referenceEq(_e3, _new_e3)))
10489 #line 4211 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10490  {
10491 #line 4211 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10492  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10493 #line 4211 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10494  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10495 #line 4211 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10496  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[4] = _new_e3;
10497 #line 4211 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10498  _element = tmpMeta[0];
10499 #line 10499 OMC_FILE
10500  }
10501 #line 10501 OMC_FILE
10502  goto tmp2_done;
10503  }
10504  case 15: {
10505  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,20,4) == 0) goto tmp2_end;
10506  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10507  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
10508  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
10509 
10510  _e1 = tmpMeta[0];
10511  _e2 = tmpMeta[1];
10512  _e3 = tmpMeta[2];
10513  /* Pattern matching succeeded */
10514 #line 4217 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10515  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
10516 #line 10516 OMC_FILE
10517 
10518 #line 4218 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10519  if((!referenceEq(_e1, _new_e1)))
10520 #line 4218 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10521  {
10522 #line 4218 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10523  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10524 #line 4218 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10525  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10526 #line 4218 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10527  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_e1;
10528 #line 4218 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10529  _element = tmpMeta[0];
10530 #line 10530 OMC_FILE
10531  }
10532 
10533 #line 4219 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10534  _new_e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _arg ,&_arg);
10535 #line 10535 OMC_FILE
10536 
10537 #line 4220 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10538  if((!referenceEq(_e2, _new_e2)))
10539 #line 4220 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10540  {
10541 #line 4220 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10542  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10543 #line 4220 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10544  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10545 #line 4220 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10546  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_e2;
10547 #line 4220 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10548  _element = tmpMeta[0];
10549 #line 10549 OMC_FILE
10550  }
10551 
10552 #line 4221 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10553  _new_e3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e3, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e3, _arg ,&_arg);
10554 #line 10554 OMC_FILE
10555 
10556 #line 4222 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10557  if((!referenceEq(_e3, _new_e3)))
10558 #line 4222 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10559  {
10560 #line 4222 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10561  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10562 #line 4222 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10563  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10564 #line 4222 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10565  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[4] = _new_e3;
10566 #line 4222 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10567  _element = tmpMeta[0];
10568 #line 10568 OMC_FILE
10569  }
10570 #line 10570 OMC_FILE
10571  goto tmp2_done;
10572  }
10573  case 16: {
10574  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,21,2) == 0) goto tmp2_end;
10575  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10576 
10577  _e1 = tmpMeta[0];
10578  /* Pattern matching succeeded */
10579 #line 4228 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10580  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
10581 #line 10581 OMC_FILE
10582 
10583 #line 4229 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10584  if((!referenceEq(_e1, _new_e1)))
10585 #line 4229 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10586  {
10587 #line 4229 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10588  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
10589 #line 4229 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10590  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 4*sizeof(modelica_metatype));
10591 #line 4229 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10592  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_e1;
10593 #line 4229 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10594  _element = tmpMeta[0];
10595 #line 10595 OMC_FILE
10596  }
10597 #line 10597 OMC_FILE
10598  goto tmp2_done;
10599  }
10600  case 17: {
10601  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,22,2) == 0) goto tmp2_end;
10602  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10603 
10604  _e1 = tmpMeta[0];
10605  /* Pattern matching succeeded */
10606 #line 4235 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10607  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
10608 #line 10608 OMC_FILE
10609 
10610 #line 4236 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10611  if((!referenceEq(_e1, _new_e1)))
10612 #line 4236 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10613  {
10614 #line 4236 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10615  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
10616 #line 4236 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10617  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 4*sizeof(modelica_metatype));
10618 #line 4236 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10619  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_e1;
10620 #line 4236 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10621  _element = tmpMeta[0];
10622 #line 10622 OMC_FILE
10623  }
10624 #line 10624 OMC_FILE
10625  goto tmp2_done;
10626  }
10627  case 18: {
10628  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,24,2) == 0) goto tmp2_end;
10629  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10630 
10631  _e1 = tmpMeta[0];
10632  /* Pattern matching succeeded */
10633 #line 4242 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10634  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
10635 #line 10635 OMC_FILE
10636 
10637 #line 4243 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10638  if((!referenceEq(_e1, _new_e1)))
10639 #line 4243 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10640  {
10641 #line 4243 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10642  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
10643 #line 4243 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10644  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 4*sizeof(modelica_metatype));
10645 #line 4243 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10646  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_e1;
10647 #line 4243 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10648  _element = tmpMeta[0];
10649 #line 10649 OMC_FILE
10650  }
10651 #line 10651 OMC_FILE
10652  goto tmp2_done;
10653  }
10654  case 19: {
10655  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,25,2) == 0) goto tmp2_end;
10656  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10657 
10658  _e1 = tmpMeta[0];
10659  /* Pattern matching succeeded */
10660 #line 4249 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10661  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
10662 #line 10662 OMC_FILE
10663 
10664 #line 4250 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10665  if((!referenceEq(_e1, _new_e1)))
10666 #line 4250 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10667  {
10668 #line 4250 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10669  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
10670 #line 4250 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10671  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 4*sizeof(modelica_metatype));
10672 #line 4250 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10673  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_e1;
10674 #line 4250 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10675  _element = tmpMeta[0];
10676 #line 10676 OMC_FILE
10677  }
10678 #line 10678 OMC_FILE
10679  goto tmp2_done;
10680  }
10681  case 20: {
10682  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,23,3) == 0) goto tmp2_end;
10683  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10684  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
10685 
10686  _cr1 = tmpMeta[0];
10687  _e1 = tmpMeta[1];
10688  /* Pattern matching succeeded */
10689 #line 4256 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10690  _new_e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
10691 #line 10691 OMC_FILE
10692 
10693 #line 4257 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10694  if((!referenceEq(_e1, _new_e1)))
10695 #line 4257 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10696  {
10697 #line 4257 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10698  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
10699 #line 4257 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10700  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
10701 #line 4257 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10702  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_e1;
10703 #line 4257 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10704  _element = tmpMeta[0];
10705 #line 10705 OMC_FILE
10706  }
10707 
10708 #line 4258 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10709  /* Pattern-matching tuple assignment */
10710 #line 4258 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10711  tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), omc_Expression_crefExp(threadData, _cr1), _arg, &tmpMeta[0]) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, omc_Expression_crefExp(threadData, _cr1), _arg, &tmpMeta[0]);
10712 #line 4258 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10713  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],6,2) == 0) goto goto_1;
10714 #line 4258 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10715  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
10716 #line 4258 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10717  _new_cr1 = tmpMeta[2];
10718 #line 4258 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10719  _arg = tmpMeta[0];
10720 #line 10720 OMC_FILE
10721 
10722 #line 4259 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10723  if((!referenceEq(_cr1, _new_cr1)))
10724 #line 4259 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10725  {
10726 #line 4259 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10727  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
10728 #line 4259 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10729  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 5*sizeof(modelica_metatype));
10730 #line 4259 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10731  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_cr1;
10732 #line 4259 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10733  _element = tmpMeta[0];
10734 #line 10734 OMC_FILE
10735  }
10736 #line 10736 OMC_FILE
10737  goto tmp2_done;
10738  }
10739  case 21: {
10740  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,15,2) == 0) goto tmp2_end;
10741  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10742  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
10743 
10744  _stmts = tmpMeta[1];
10745  /* Pattern matching succeeded */
10746 #line 4265 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10747  _new_stmts = omc_DAEUtil_traverseDAEEquationsStmts(threadData, _stmts, ((modelica_fnptr) _func), _arg ,&_arg);
10748 #line 10748 OMC_FILE
10749 
10750 #line 4266 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10751  if((!referenceEq(_stmts, _new_stmts)))
10752 #line 4266 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10753  {
10754 #line 4267 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10755  tmpMeta[1] = mmc_mk_box2(3, &DAE_Algorithm_ALGORITHM__STMTS__desc, _new_stmts);
10756 #line 4267 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10757  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
10758 #line 4267 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10759  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 4*sizeof(modelica_metatype));
10760 #line 4267 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10761  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = tmpMeta[1];
10762 #line 4267 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10763  _element = tmpMeta[0];
10764 #line 10764 OMC_FILE
10765  }
10766 #line 10766 OMC_FILE
10767  goto tmp2_done;
10768  }
10769  case 22: {
10770  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,16,2) == 0) goto tmp2_end;
10771  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10772  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
10773 
10774  _stmts = tmpMeta[1];
10775  /* Pattern matching succeeded */
10776 #line 4274 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10777  _new_stmts = omc_DAEUtil_traverseDAEEquationsStmts(threadData, _stmts, ((modelica_fnptr) _func), _arg ,&_arg);
10778 #line 10778 OMC_FILE
10779 
10780 #line 4275 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10781  if((!referenceEq(_stmts, _new_stmts)))
10782 #line 4275 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10783  {
10784 #line 4276 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10785  tmpMeta[1] = mmc_mk_box2(3, &DAE_Algorithm_ALGORITHM__STMTS__desc, _new_stmts);
10786 #line 4276 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10787  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
10788 #line 4276 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10789  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 4*sizeof(modelica_metatype));
10790 #line 4276 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10791  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = tmpMeta[1];
10792 #line 4276 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10793  _element = tmpMeta[0];
10794 #line 10794 OMC_FILE
10795  }
10796 #line 10796 OMC_FILE
10797  goto tmp2_done;
10798  }
10799  case 23: {
10800  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,26,2) == 0) goto tmp2_end;
10801  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10802  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,1) == 0) goto tmp2_end;
10803  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
10804 
10805  _expl = tmpMeta[1];
10806  /* Pattern matching succeeded */
10807 #line 4283 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10808  _new_expl = omc_DAEUtil_traverseDAEExpList(threadData, _expl, ((modelica_fnptr) _func), _arg ,&_arg);
10809 #line 10809 OMC_FILE
10810 
10811 #line 4284 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10812  if((!referenceEq(_expl, _new_expl)))
10813 #line 4284 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10814  {
10815 #line 4285 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10816  tmpMeta[1] = mmc_mk_box2(3, &DAE_Constraint_CONSTRAINT__EXPS__desc, _new_expl);
10817 #line 4285 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10818  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
10819 #line 4285 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10820  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 4*sizeof(modelica_metatype));
10821 #line 4285 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10822  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = tmpMeta[1];
10823 #line 4285 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10824  _element = tmpMeta[0];
10825 #line 10825 OMC_FILE
10826  }
10827 #line 10827 OMC_FILE
10828  goto tmp2_done;
10829  }
10830  case 24: {
10831  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,27,1) == 0) goto tmp2_end;
10832 
10833  /* Pattern matching succeeded */
10834 #line 10834 OMC_FILE
10835  goto tmp2_done;
10836  }
10837  case 25: {
10838  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,12,4) == 0) goto tmp2_end;
10839  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10840  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
10841  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
10842 
10843  _expl = tmpMeta[0];
10844  _eqll = tmpMeta[1];
10845  _el = tmpMeta[2];
10846  /* Pattern matching succeeded */
10847 #line 4294 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10848  _new_expl = omc_DAEUtil_traverseDAEExpList(threadData, _expl, ((modelica_fnptr) _func), _arg ,&_arg);
10849 #line 10849 OMC_FILE
10850 
10851 #line 4295 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10852  if((!referenceEq(_expl, _new_expl)))
10853 #line 4295 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10854  {
10855 #line 4295 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10856  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10857 #line 4295 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10858  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10859 #line 4295 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10860  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_expl;
10861 #line 4295 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10862  _element = tmpMeta[0];
10863 #line 10863 OMC_FILE
10864  }
10865 
10866 #line 4296 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10867  _new_eqll = omc_DAEUtil_traverseDAEList(threadData, _eqll, ((modelica_fnptr) _func), _arg ,&_arg);
10868 #line 10868 OMC_FILE
10869 
10870 #line 4297 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10871  if((!referenceEq(_eqll, _new_eqll)))
10872 #line 4297 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10873  {
10874 #line 4297 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10875  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10876 #line 4297 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10877  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10878 #line 4297 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10879  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_eqll;
10880 #line 4297 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10881  _element = tmpMeta[0];
10882 #line 10882 OMC_FILE
10883  }
10884 
10885 #line 4298 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10886  _new_el = omc_DAEUtil_traverseDAEElementList(threadData, _el, ((modelica_fnptr) _func), _arg ,&_arg);
10887 #line 10887 OMC_FILE
10888 
10889 #line 4299 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10890  if((!referenceEq(_el, _new_el)))
10891 #line 4299 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10892  {
10893 #line 4299 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10894  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10895 #line 4299 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10896  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10897 #line 4299 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10898  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[4] = _new_el;
10899 #line 4299 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10900  _element = tmpMeta[0];
10901 #line 10901 OMC_FILE
10902  }
10903 #line 10903 OMC_FILE
10904  goto tmp2_done;
10905  }
10906  case 26: {
10907  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,4) == 0) goto tmp2_end;
10908  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10909  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
10910  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
10911 
10912  _expl = tmpMeta[0];
10913  _eqll = tmpMeta[1];
10914  _el = tmpMeta[2];
10915  /* Pattern matching succeeded */
10916 #line 4305 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10917  _new_expl = omc_DAEUtil_traverseDAEExpList(threadData, _expl, ((modelica_fnptr) _func), _arg ,&_arg);
10918 #line 10918 OMC_FILE
10919 
10920 #line 4306 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10921  if((!referenceEq(_expl, _new_expl)))
10922 #line 4306 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10923  {
10924 #line 4306 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10925  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10926 #line 4306 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10927  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10928 #line 4306 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10929  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _new_expl;
10930 #line 4306 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10931  _element = tmpMeta[0];
10932 #line 10932 OMC_FILE
10933  }
10934 
10935 #line 4307 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10936  _new_eqll = omc_DAEUtil_traverseDAEList(threadData, _eqll, ((modelica_fnptr) _func), _arg ,&_arg);
10937 #line 10937 OMC_FILE
10938 
10939 #line 4308 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10940  if((!referenceEq(_eqll, _new_eqll)))
10941 #line 4308 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10942  {
10943 #line 4308 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10944  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10945 #line 4308 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10946  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10947 #line 4308 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10948  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_eqll;
10949 #line 4308 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10950  _element = tmpMeta[0];
10951 #line 10951 OMC_FILE
10952  }
10953 
10954 #line 4309 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10955  _new_el = omc_DAEUtil_traverseDAEElementList(threadData, _el, ((modelica_fnptr) _func), _arg ,&_arg);
10956 #line 10956 OMC_FILE
10957 
10958 #line 4310 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10959  if((!referenceEq(_el, _new_el)))
10960 #line 4310 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10961  {
10962 #line 4310 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10963  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
10964 #line 4310 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10965  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 6*sizeof(modelica_metatype));
10966 #line 4310 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10967  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[4] = _new_el;
10968 #line 4310 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10969  _element = tmpMeta[0];
10970 #line 10970 OMC_FILE
10971  }
10972 #line 10972 OMC_FILE
10973  goto tmp2_done;
10974  }
10975  case 27: {
10976  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,28,2) == 0) goto tmp2_end;
10977  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
10978  _el = tmpMeta[0];
10979  /* Pattern matching succeeded */
10980 #line 4316 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10981  _new_el = omc_DAEUtil_traverseDAEElementList(threadData, _el, ((modelica_fnptr) _func), _arg ,&_arg);
10982 #line 10982 OMC_FILE
10983 
10984 #line 4317 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10985  if((!referenceEq(_el, _new_el)))
10986 #line 4317 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10987  {
10988 #line 4317 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10989  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
10990 #line 4317 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10991  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 4*sizeof(modelica_metatype));
10992 #line 4317 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10993  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_el;
10994 #line 4317 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
10995  _element = tmpMeta[0];
10996 #line 10996 OMC_FILE
10997  }
10998 #line 10998 OMC_FILE
10999  goto tmp2_done;
11000  }
11001  case 28: {
11002  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,2) == 0) goto tmp2_end;
11003  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
11004  _el = tmpMeta[0];
11005  /* Pattern matching succeeded */
11006 #line 4323 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11007  _new_el = omc_DAEUtil_traverseDAEElementList(threadData, _el, ((modelica_fnptr) _func), _arg ,&_arg);
11008 #line 11008 OMC_FILE
11009 
11010 #line 4324 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11011  if((!referenceEq(_el, _new_el)))
11012 #line 4324 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11013  {
11014 #line 4324 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11015  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
11016 #line 4324 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11017  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_element), 4*sizeof(modelica_metatype));
11018 #line 4324 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11019  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _new_el;
11020 #line 4324 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11021  _element = tmpMeta[0];
11022 #line 11022 OMC_FILE
11023  }
11024 #line 11024 OMC_FILE
11025  goto tmp2_done;
11026  }
11027  case 29: {
11028  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,30,1) == 0) goto tmp2_end;
11029 
11030  /* Pattern matching succeeded */
11031 #line 11031 OMC_FILE
11032  goto tmp2_done;
11033  }
11034  case 30: {
11035 
11036  /* Pattern matching succeeded */
11037 #line 4332 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11038  tmpMeta[1] = mmc_mk_cons(_element, MMC_REFSTRUCTLIT(mmc_nil));
11039 #line 4332 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11040  tmpMeta[2] = stringAppend(_OMC_LIT77,omc_DAEDump_dumpElementsStr(threadData, tmpMeta[1]));
11041 #line 4332 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11042  tmpMeta[0] = mmc_mk_cons(tmpMeta[2], MMC_REFSTRUCTLIT(mmc_nil));
11043 #line 4332 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11044  omc_Error_addMessage(threadData, _OMC_LIT72, tmpMeta[0]);
11045 #line 11045 OMC_FILE
11046 #line 4335 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11047  goto goto_1;
11048 #line 11048 OMC_FILE
11049  goto tmp2_done;
11050  }
11051  }
11052  goto tmp2_end;
11053  tmp2_end: ;
11054  }
11055  goto goto_1;
11056  goto_1:;
11057  MMC_THROW_INTERNAL();
11058  goto tmp2_done;
11059  tmp2_done:;
11060  }
11061  }
11062  ;
11063  _return: OMC_LABEL_UNUSED
11064  if (out_arg) { *out_arg = _arg; }
11065  return _element;
11066 }
struct record_description DAE_Constraint_CONSTRAINT__EXPS__desc
Definition: DAE_records.c:2721
DLLExport modelica_metatype omc_ValuesUtil_valueExp(threadData_t *threadData, modelica_metatype _inValue)
Definition: ValuesUtil.c:6402
signed char modelica_boolean
DLLExport modelica_metatype omc_DAEUtil_traverseDAEElementList(threadData_t *threadData, modelica_metatype _ $in_elements, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
Definition: DAEUtil.c:11074
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEList(threadData_t *threadData, modelica_metatype _idaeList, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:11636
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEExpList(threadData_t *threadData, modelica_metatype _iexps, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:11720
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEElement(threadData_t *threadData, modelica_metatype _ $in_element, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
Definition: DAEUtil.c:9316
DLLExport modelica_boolean omc_Expression_isCref(threadData_t *threadData, modelica_metatype _inExp)
Definition: Expression.c:20269
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
void * modelica_fnptr
struct record_description DAE_Algorithm_ALGORITHM__STMTS__desc
Definition: DAE_records.c:2695
ADD_METARECORD_DEFINITIONS struct record_description DAE_Binding_EQBOUND__desc
Definition: DAE_records.c:3429
DLLExport modelica_metatype omc_Expression_crefExp(threadData_t *threadData, modelica_metatype _cr)
Definition: Expression.c:41322
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport void omc_Error_addMessage(threadData_t *threadData, modelica_metatype _inErrorMsg, modelica_metatype _inMessageTokens)
Definition: Error.c:1082
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEOptExp(threadData_t *threadData, modelica_metatype _oexp, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:11802
ADD_METARECORD_DEFINITIONS struct record_description DAE_Dimension_DIM__EXP__desc
Definition: DAE_records.c:4625
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEVarAttr(threadData_t *threadData, modelica_metatype _attr, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:6313
void * modelica_metatype
DLLExport modelica_string omc_DAEDump_dumpElementsStr(threadData_t *threadData, modelica_metatype _els)
Definition: DAEDump.c:6161
DLLExport modelica_metatype omc_DAEUtil_traverseDAEEquationsStmts(threadData_t *threadData, modelica_metatype _inStmts, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:9255
DLLExport modelica_metatype omc_Expression_expCref(threadData_t *threadData, modelica_metatype _inExp)
Definition: Expression.c:48149
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:

◆ omc_DAEUtil_traverseDAEElementList()

DLLExport modelica_metatype omc_DAEUtil_traverseDAEElementList ( threadData_t threadData,
modelica_metatype $in_elements,
modelica_fnptr  _func,
modelica_metatype $in_arg,
modelica_metatype out_arg 
)

Definition at line 11074 of file DAEUtil.c.

11075 {
11076  modelica_metatype _elements = NULL;
11077  modelica_metatype _arg = NULL;
11078  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
11079  MMC_SO();
11080  _tailrecursive: OMC_LABEL_UNUSED
11081  _elements = _$in_elements;
11082  _arg = _$in_arg;
11083 #line 3989 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11084  tmpMeta[0] = mmc_mk_box1(0, ((modelica_fnptr) _func));
11085 #line 3989 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11086  _elements = omc_List_mapFold(threadData, _elements, (modelica_fnptr) mmc_mk_box2(0,closure0_DAEUtil_traverseDAEElement,tmpMeta[0]), _arg ,&_arg);
11087 #line 11087 OMC_FILE
11088  _return: OMC_LABEL_UNUSED
11089  if (out_arg) { *out_arg = _arg; }
11090  return _elements;
11091 }
void * modelica_fnptr
DLLExport modelica_metatype omc_List_mapFold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc, modelica_metatype _inArg, modelica_metatype *out_outArg)
Definition: List.c:9071
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_traverseDAEEquationsStmts()

DLLExport modelica_metatype omc_DAEUtil_traverseDAEEquationsStmts ( threadData_t threadData,
modelica_metatype  _inStmts,
modelica_fnptr  _func,
modelica_metatype  _iextraArg,
modelica_metatype out_oextraArg 
)

Definition at line 9255 of file DAEUtil.c.

9256 {
9257  modelica_metatype _outStmts = NULL;
9258  modelica_metatype _oextraArg = NULL;
9259  MMC_SO();
9260  _tailrecursive: OMC_LABEL_UNUSED
9261 #line 4390 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9262  _outStmts = omc_DAEUtil_traverseDAEEquationsStmtsList(threadData, _inStmts, ((modelica_fnptr) _func), _OMC_LIT75, _iextraArg ,&_oextraArg);
9263 #line 9263 OMC_FILE
9264  _return: OMC_LABEL_UNUSED
9265  if (out_oextraArg) { *out_oextraArg = _oextraArg; }
9266  return _outStmts;
9267 }
void * modelica_fnptr
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEEquationsStmtsList(threadData_t *threadData, modelica_metatype _inStmts, modelica_fnptr _func, modelica_metatype _opt, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:9208
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_traverseDAEEquationsStmtsElse()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEEquationsStmtsElse ( threadData_t threadData,
modelica_metatype  _inElse,
modelica_fnptr  _func,
modelica_metatype  _opt,
modelica_metatype  _iextraArg,
modelica_metatype out_oextraArg 
)

Definition at line 7966 of file DAEUtil.c.

7967 {
7968  modelica_metatype _outElse = NULL;
7969  modelica_metatype _oextraArg = NULL;
7970  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
7971  MMC_SO();
7972  _tailrecursive: OMC_LABEL_UNUSED
7973 #line 4641 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7974 
7975 #line 4641 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7976 
7977 #line 7977 OMC_FILE
7978  { /* match expression */
7979  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
7980  tmp4_1 = _inElse;
7981  tmp4_2 = _iextraArg;
7982  {
7983  modelica_metatype _e = NULL;
7984  modelica_metatype _e_1 = NULL;
7985  modelica_metatype _st = NULL;
7986  modelica_metatype _st_1 = NULL;
7987  modelica_metatype _el = NULL;
7988  modelica_metatype _el_1 = NULL;
7989  modelica_metatype _extraArg = NULL;
7990  modelica_boolean _b;
7991  int tmp4;
7992  {
7993  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
7994  case 3: {
7995  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0) == 0) goto tmp3_end;
7996 
7997  _extraArg = tmp4_2;
7998  /* Pattern matching succeeded */
7999 #line 4648 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8000  tmpMeta[0+0] = _OMC_LIT66;
8001 #line 4648 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8002  tmpMeta[0+1] = _extraArg;
8003 #line 8003 OMC_FILE
8004  goto tmp3_done;
8005  }
8006  case 4: {
8007  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,3) == 0) goto tmp3_end;
8008  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
8009  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
8010  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
8011 
8012  _e = tmpMeta[2];
8013  _st = tmpMeta[3];
8014  _el = tmpMeta[4];
8015  _extraArg = tmp4_2;
8016  /* Pattern matching succeeded */
8017 #line 4651 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8018  _el_1 = omc_DAEUtil_traverseDAEEquationsStmtsElse(threadData, _el, ((modelica_fnptr) _func), _opt, _extraArg ,&_extraArg);
8019 #line 8019 OMC_FILE
8020 
8021 #line 4652 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8022  _st_1 = omc_DAEUtil_traverseDAEEquationsStmtsList(threadData, _st, ((modelica_fnptr) _func), _opt, _extraArg ,&_extraArg);
8023 #line 8023 OMC_FILE
8024 
8025 #line 4653 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8026  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _extraArg ,&_extraArg);
8027 #line 8027 OMC_FILE
8028 
8029 #line 4654 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8030  _outElse = omc_Algorithm_optimizeElseIf(threadData, _e_1, _st_1, _el_1);
8031 #line 8031 OMC_FILE
8032 
8033 #line 4655 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8034  _b = ((referenceEq(_el, _el_1) && referenceEq(_st, _st_1)) && referenceEq(_e, _e_1));
8035 #line 8035 OMC_FILE
8036 
8037 #line 4656 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8038  _outElse = (_b?_inElse:_outElse);
8039 #line 8039 OMC_FILE
8040 #line 4657 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8041  tmpMeta[0+0] = _outElse;
8042 #line 4657 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8043  tmpMeta[0+1] = _extraArg;
8044 #line 8044 OMC_FILE
8045  goto tmp3_done;
8046  }
8047  case 5: {
8048  modelica_boolean tmp5;
8049  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,1) == 0) goto tmp3_end;
8050  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
8051 
8052  _st = tmpMeta[2];
8053  _extraArg = tmp4_2;
8054  /* Pattern matching succeeded */
8055 #line 4660 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8056  _st_1 = omc_DAEUtil_traverseDAEEquationsStmtsList(threadData, _st, ((modelica_fnptr) _func), _opt, _extraArg ,&_extraArg);
8057 #line 8057 OMC_FILE
8058 
8059 #line 4661 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8060  tmp5 = (modelica_boolean)referenceEq(_st, _st_1);
8061 #line 4661 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8062  if(tmp5)
8063 #line 4661 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8064  {
8065 #line 4661 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8066  tmpMeta[3] = _inElse;
8067 #line 4661 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8068  }
8069 #line 4661 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8070  else
8071 #line 4661 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8072  {
8073 #line 4661 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8074  tmpMeta[2] = mmc_mk_box2(5, &DAE_Else_ELSE__desc, _st_1);
8075 #line 4661 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8076  tmpMeta[3] = tmpMeta[2];
8077 #line 4661 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8078  }
8079 #line 4661 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8080  _outElse = tmpMeta[3];
8081 #line 8081 OMC_FILE
8082 #line 4662 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8083  tmpMeta[0+0] = _outElse;
8084 #line 4662 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8085  tmpMeta[0+1] = _extraArg;
8086 #line 8086 OMC_FILE
8087  goto tmp3_done;
8088  }
8089  }
8090  goto tmp3_end;
8091  tmp3_end: ;
8092  }
8093  goto goto_2;
8094  goto_2:;
8095  MMC_THROW_INTERNAL();
8096  goto tmp3_done;
8097  tmp3_done:;
8098  }
8099  }
8100  _outElse = tmpMeta[0+0];
8101  _oextraArg = tmpMeta[0+1];
8102  _return: OMC_LABEL_UNUSED
8103  if (out_oextraArg) { *out_oextraArg = _oextraArg; }
8104  return _outElse;
8105 }
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEEquationsStmtsElse(threadData_t *threadData, modelica_metatype _inElse, modelica_fnptr _func, modelica_metatype _opt, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:7966
signed char modelica_boolean
void * modelica_fnptr
void * modelica_metatype
DLLExport modelica_metatype omc_Algorithm_optimizeElseIf(threadData_t *threadData, modelica_metatype _cond, modelica_metatype _stmts, modelica_metatype _els)
Definition: Algorithm.c:1565
struct record_description DAE_Else_ELSE__desc
Definition: DAE_records.c:3267
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEEquationsStmtsList(threadData_t *threadData, modelica_metatype _inStmts, modelica_fnptr _func, modelica_metatype _opt, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:9208
Here is the call graph for this function:

◆ omc_DAEUtil_traverseDAEEquationsStmtsList()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEEquationsStmtsList ( threadData_t threadData,
modelica_metatype  _inStmts,
modelica_fnptr  _func,
modelica_metatype  _opt,
modelica_metatype  _iextraArg,
modelica_metatype out_oextraArg 
)

Definition at line 9208 of file DAEUtil.c.

9209 {
9210  modelica_metatype _outStmts = NULL;
9211  modelica_metatype _oextraArg = NULL;
9212  modelica_metatype _outStmtsLst = NULL;
9213  modelica_boolean _b;
9214  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
9215  MMC_SO();
9216  _tailrecursive: OMC_LABEL_UNUSED
9217 #line 4428 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9218  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
9219 #line 4428 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9220  _outStmtsLst = omc_List_map2Fold(threadData, _inStmts, boxvar_DAEUtil_traverseDAEEquationsStmtsWork, ((modelica_fnptr) _func), _opt, _iextraArg, tmpMeta[0] ,&_oextraArg);
9221 #line 9221 OMC_FILE
9222 
9223 #line 4429 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9224  _outStmts = omc_List_flatten(threadData, _outStmtsLst);
9225 #line 9225 OMC_FILE
9226 
9227 #line 4430 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9228  _b = omc_List_allReferenceEq(threadData, _inStmts, _outStmts);
9229 #line 9229 OMC_FILE
9230 
9231 #line 4431 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9232  _outStmts = (_b?_inStmts:_outStmts);
9233 #line 9233 OMC_FILE
9234  _return: OMC_LABEL_UNUSED
9235  if (out_oextraArg) { *out_oextraArg = _oextraArg; }
9236  return _outStmts;
9237 }
signed char modelica_boolean
DLLExport modelica_metatype omc_List_map2Fold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc, modelica_metatype _inConstArg, modelica_metatype _inConstArg2, modelica_metatype _inArg, modelica_metatype _inAccum, modelica_metatype *out_outArg)
Definition: List.c:8790
DLLExport modelica_metatype omc_List_flatten(threadData_t *threadData, modelica_metatype _inList)
Definition: List.c:8242
void * modelica_fnptr
void * modelica_metatype
DLLExport modelica_boolean omc_List_allReferenceEq(threadData_t *threadData, modelica_metatype _inList1, modelica_metatype _inList2)
Definition: List.c:429
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_traverseDAEEquationsStmtsRhsOnly()

DLLExport modelica_metatype omc_DAEUtil_traverseDAEEquationsStmtsRhsOnly ( threadData_t threadData,
modelica_metatype  _inStmts,
modelica_fnptr  _func,
modelica_metatype  _iextraArg,
modelica_metatype out_oextraArg 
)

Definition at line 9240 of file DAEUtil.c.

9241 {
9242  modelica_metatype _outStmts = NULL;
9243  modelica_metatype _oextraArg = NULL;
9244  MMC_SO();
9245  _tailrecursive: OMC_LABEL_UNUSED
9246 #line 4407 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9247  _outStmts = omc_DAEUtil_traverseDAEEquationsStmtsList(threadData, _inStmts, ((modelica_fnptr) _func), _OMC_LIT74, _iextraArg ,&_oextraArg);
9248 #line 9248 OMC_FILE
9249  _return: OMC_LABEL_UNUSED
9250  if (out_oextraArg) { *out_oextraArg = _oextraArg; }
9251  return _outStmts;
9252 }
void * modelica_fnptr
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEEquationsStmtsList(threadData_t *threadData, modelica_metatype _inStmts, modelica_fnptr _func, modelica_metatype _opt, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:9208
Here is the call graph for this function:

◆ omc_DAEUtil_traverseDAEEquationsStmtsWork()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEEquationsStmtsWork ( threadData_t threadData,
modelica_metatype  _inStmt,
modelica_fnptr  _func,
modelica_metatype  _opt,
modelica_metatype  _iextraArg,
modelica_metatype out_oextraArg 
)

Definition at line 8107 of file DAEUtil.c.

8108 {
8109  modelica_metatype _outStmts = NULL;
8110  modelica_metatype _oextraArg = NULL;
8111  modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
8112  MMC_SO();
8113  _tailrecursive: OMC_LABEL_UNUSED
8114 #line 4473 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8115 
8116 #line 4473 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8117 
8118 #line 8118 OMC_FILE
8119  { /* matchcontinue expression */
8120  volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;
8121  tmp4_1 = _inStmt;
8122  tmp4_2 = _iextraArg;
8123  {
8124  modelica_metatype _e_1 = NULL;
8125  modelica_metatype _e_2 = NULL;
8126  modelica_metatype _e = NULL;
8127  modelica_metatype _e2 = NULL;
8128  modelica_metatype _e3 = NULL;
8129  modelica_metatype _e_3 = NULL;
8130  modelica_metatype _expl1 = NULL;
8131  modelica_metatype _expl2 = NULL;
8132  modelica_metatype _stmts = NULL;
8133  modelica_metatype _stmts1 = NULL;
8134  modelica_metatype _stmts2 = NULL;
8135  modelica_metatype _tp = NULL;
8136  modelica_metatype _x = NULL;
8137  modelica_metatype _ew = NULL;
8138  modelica_metatype _ew_1 = NULL;
8139  modelica_boolean _b1;
8140  modelica_string _id1 = NULL;
8141  modelica_string _str = NULL;
8142  modelica_integer _ix;
8143  modelica_metatype _source = NULL;
8144  modelica_metatype _algElse = NULL;
8145  modelica_metatype _algElse1 = NULL;
8146  modelica_metatype _extraArg = NULL;
8147  modelica_metatype _loopPrlVars = NULL;
8148  modelica_metatype _conditions = NULL;
8149  modelica_boolean _initialCall;
8150  modelica_boolean _b;
8151  volatile mmc_switch_type tmp4;
8152  int tmp5;
8153  tmp4 = 0;
8154  MMC_TRY_INTERNAL(mmc_jumper)
8155  tmp3_top:
8156  threadData->mmc_jumper = &new_mmc_jumper;
8157  for (; tmp4 < 18; tmp4++) {
8158  switch (MMC_SWITCH_CAST(tmp4)) {
8159  case 0: {
8160  modelica_boolean tmp6;
8161  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,4) == 0) goto tmp3_end;
8162  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
8163  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
8164  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
8165  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 5));
8166 
8167  _tp = tmpMeta[2];
8168  _e = tmpMeta[3];
8169  _e2 = tmpMeta[4];
8170  _source = tmpMeta[5];
8171  _extraArg = tmp4_2;
8172  tmp4 += 16; /* Pattern matching succeeded; we may skip some cases if we fail */
8173 #line 4493 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8174  _e_1 = omc_DAEUtil_traverseStatementsOptionsEvalLhs(threadData, _e, _extraArg, ((modelica_fnptr) _func), _opt ,&_extraArg);
8175 #line 8175 OMC_FILE
8176 
8177 #line 4494 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8178  _e_2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _extraArg ,&_extraArg);
8179 #line 8179 OMC_FILE
8180 
8181 #line 4495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8182  tmp6 = (modelica_boolean)(referenceEq(_e, _e_1) && referenceEq(_e2, _e_2));
8183 #line 4495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8184  if(tmp6)
8185 #line 4495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8186  {
8187 #line 4495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8188  tmpMeta[3] = _inStmt;
8189 #line 4495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8190  }
8191 #line 4495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8192  else
8193 #line 4495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8194  {
8195 #line 4495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8196  tmpMeta[2] = mmc_mk_box5(3, &DAE_Statement_STMT__ASSIGN__desc, _tp, _e_1, _e_2, _source);
8197 #line 4495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8198  tmpMeta[3] = tmpMeta[2];
8199 #line 4495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8200  }
8201 #line 4495 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8202  _x = tmpMeta[3];
8203 #line 8203 OMC_FILE
8204 #line 4496 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8205  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
8206 #line 4496 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8207  tmpMeta[0+0] = tmpMeta[2];
8208 #line 4496 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8209  tmpMeta[0+1] = _extraArg;
8210 #line 8210 OMC_FILE
8211  goto tmp3_done;
8212  }
8213  case 1: {
8214  modelica_boolean tmp7;
8215  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,4) == 0) goto tmp3_end;
8216  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
8217  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
8218  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
8219  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 5));
8220 
8221  _tp = tmpMeta[2];
8222  _expl1 = tmpMeta[3];
8223  _e = tmpMeta[4];
8224  _source = tmpMeta[5];
8225  _extraArg = tmp4_2;
8226  tmp4 += 15; /* Pattern matching succeeded; we may skip some cases if we fail */
8227 #line 4500 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8228  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _extraArg ,&_extraArg);
8229 #line 8229 OMC_FILE
8230 
8231 #line 4501 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8232  /* Pattern-matching tuple assignment */
8233 #line 4501 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8234  tmpMeta[3] = mmc_mk_box2(22, &DAE_Exp_TUPLE__desc, _expl1);
8235 #line 4501 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8236  tmpMeta[4] = omc_DAEUtil_traverseStatementsOptionsEvalLhs(threadData, tmpMeta[3], _extraArg, ((modelica_fnptr) _func), _opt, &tmpMeta[2]);
8237 #line 4501 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8238  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],19,1) == 0) goto goto_2;
8239 #line 4501 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8240  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2));
8241 #line 4501 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8242  _expl2 = tmpMeta[5];
8243 #line 4501 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8244  _extraArg = tmpMeta[2];
8245 #line 8245 OMC_FILE
8246 
8247 #line 4502 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8248  tmp7 = (modelica_boolean)(referenceEq(_e, _e_1) && referenceEq(_expl1, _expl2));
8249 #line 4502 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8250  if(tmp7)
8251 #line 4502 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8252  {
8253 #line 4502 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8254  tmpMeta[3] = _inStmt;
8255 #line 4502 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8256  }
8257 #line 4502 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8258  else
8259 #line 4502 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8260  {
8261 #line 4502 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8262  tmpMeta[2] = mmc_mk_box5(4, &DAE_Statement_STMT__TUPLE__ASSIGN__desc, _tp, _expl2, _e_1, _source);
8263 #line 4502 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8264  tmpMeta[3] = tmpMeta[2];
8265 #line 4502 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8266  }
8267 #line 4502 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8268  _x = tmpMeta[3];
8269 #line 8269 OMC_FILE
8270 #line 4503 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8271  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
8272 #line 4503 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8273  tmpMeta[0+0] = tmpMeta[2];
8274 #line 4503 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8275  tmpMeta[0+1] = _extraArg;
8276 #line 8276 OMC_FILE
8277  goto tmp3_done;
8278  }
8279  case 2: {
8280  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,4) == 0) goto tmp3_end;
8281  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
8282  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
8283  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
8284  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 5));
8285 
8286  _tp = tmpMeta[2];
8287  _e = tmpMeta[3];
8288  _e2 = tmpMeta[4];
8289  _source = tmpMeta[5];
8290  _extraArg = tmp4_2;
8291  tmp4 += 14; /* Pattern matching succeeded; we may skip some cases if we fail */
8292 #line 4507 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8293  _e_2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _extraArg ,&_extraArg);
8294 #line 8294 OMC_FILE
8295 
8296 #line 8296 OMC_FILE
8297  { /* matchcontinue expression */
8298  {
8299  volatile mmc_switch_type tmp10;
8300  int tmp11;
8301  tmp10 = 0;
8302  MMC_TRY_INTERNAL(mmc_jumper)
8303  tmp9_top:
8304  threadData->mmc_jumper = &new_mmc_jumper;
8305  for (; tmp10 < 2; tmp10++) {
8306  switch (MMC_SWITCH_CAST(tmp10)) {
8307  case 0: {
8308  modelica_boolean tmp12;
8309  /* Pattern matching succeeded */
8310 #line 4511 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8311  /* Pattern-matching tuple assignment */
8312 #line 4511 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8313  tmpMeta[3] = omc_DAEUtil_traverseStatementsOptionsEvalLhs(threadData, _e, _extraArg, ((modelica_fnptr) _func), _opt, &tmpMeta[2]);
8314 #line 4511 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8315  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto goto_8;
8316 #line 4511 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8317  _e_1 = tmpMeta[3];
8318 #line 4511 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8319  _extraArg = tmpMeta[2];
8320 #line 8320 OMC_FILE
8321 
8322 #line 4512 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8323  tmp12 = (modelica_boolean)(referenceEq(_e2, _e_2) && referenceEq(_e, _e_1));
8324 #line 4512 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8325  if(tmp12)
8326 #line 4512 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8327  {
8328 #line 4512 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8329  tmpMeta[3] = _inStmt;
8330 #line 4512 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8331  }
8332 #line 4512 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8333  else
8334 #line 4512 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8335  {
8336 #line 4512 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8337  tmpMeta[2] = mmc_mk_box5(5, &DAE_Statement_STMT__ASSIGN__ARR__desc, _tp, _e_1, _e_2, _source);
8338 #line 4512 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8339  tmpMeta[3] = tmpMeta[2];
8340 #line 4512 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8341  }
8342 #line 4512 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8343  _x = tmpMeta[3];
8344 #line 8344 OMC_FILE
8345 #line 8345 OMC_FILE
8346  goto tmp9_done;
8347  }
8348  case 1: {
8349  modelica_boolean tmp13;
8350  modelica_boolean tmp15;
8351  /* Pattern matching succeeded */
8352 #line 4517 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8353  tmp13 = 0; /* begin failure */
8354 #line 4517 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8355  MMC_TRY_INTERNAL(mmc_jumper)
8356 #line 4517 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8357  /* Pattern-matching tuple assignment */
8358 #line 4517 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8359  tmpMeta[2] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _extraArg, NULL) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _extraArg, NULL);
8360 #line 4517 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8361  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],6,2) == 0) goto goto_14;
8362 #line 4517 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8363 
8364 #line 8364 OMC_FILE
8365  tmp13 = 1;
8366  goto goto_14;
8367  goto_14:;
8368  MMC_CATCH_INTERNAL(mmc_jumper)
8369  if (tmp13) {goto goto_8;} /* end failure */
8370 
8371 #line 4518 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8372  tmp15 = (modelica_boolean)referenceEq(_e2, _e_2);
8373 #line 4518 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8374  if(tmp15)
8375 #line 4518 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8376  {
8377 #line 4518 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8378  tmpMeta[3] = _inStmt;
8379 #line 4518 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8380  }
8381 #line 4518 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8382  else
8383 #line 4518 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8384  {
8385 #line 4518 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8386  tmpMeta[2] = mmc_mk_box5(5, &DAE_Statement_STMT__ASSIGN__ARR__desc, _tp, _e, _e_2, _source);
8387 #line 4518 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8388  tmpMeta[3] = tmpMeta[2];
8389 #line 4518 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8390  }
8391 #line 4518 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8392  _x = tmpMeta[3];
8393 #line 8393 OMC_FILE
8394 #line 8394 OMC_FILE
8395  goto tmp9_done;
8396  }
8397  }
8398  goto tmp9_end;
8399  tmp9_end: ;
8400  }
8401  goto goto_8;
8402  tmp9_done:
8403  (void)tmp10;
8404  MMC_RESTORE_INTERNAL(mmc_jumper);
8405  goto tmp9_done2;
8406  goto_8:;
8407  MMC_CATCH_INTERNAL(mmc_jumper);
8408  if (++tmp10 < 2) {
8409  goto tmp9_top;
8410  }
8411  goto goto_2;
8412  tmp9_done2:;
8413  }
8414  }
8415  ;
8416 #line 4527 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8417  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
8418 #line 4527 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8419  tmpMeta[0+0] = tmpMeta[2];
8420 #line 4527 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8421  tmpMeta[0+1] = _extraArg;
8422 #line 8422 OMC_FILE
8423  goto tmp3_done;
8424  }
8425  case 3: {
8426  modelica_boolean tmp16;
8427  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,3,4) == 0) goto tmp3_end;
8428  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
8429  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
8430  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
8431  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 5));
8432 
8433  _e = tmpMeta[2];
8434  _stmts = tmpMeta[3];
8435  _algElse = tmpMeta[4];
8436  _source = tmpMeta[5];
8437  _extraArg = tmp4_2;
8438  tmp4 += 13; /* Pattern matching succeeded; we may skip some cases if we fail */
8439 #line 4531 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8440  _algElse1 = omc_DAEUtil_traverseDAEEquationsStmtsElse(threadData, _algElse, ((modelica_fnptr) _func), _opt, _extraArg ,&_extraArg);
8441 #line 8441 OMC_FILE
8442 
8443 #line 4532 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8444  _stmts2 = omc_DAEUtil_traverseDAEEquationsStmtsList(threadData, _stmts, ((modelica_fnptr) _func), _opt, _extraArg ,&_extraArg);
8445 #line 8445 OMC_FILE
8446 
8447 #line 4533 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8448  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _extraArg ,&_extraArg);
8449 #line 8449 OMC_FILE
8450 
8451 #line 4534 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8452  _stmts1 = omc_Algorithm_optimizeIf(threadData, _e_1, _stmts2, _algElse1, _source ,&_b);
8453 #line 8453 OMC_FILE
8454 
8455 #line 4535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8456  tmp16 = (modelica_boolean)((((!_b) && referenceEq(_e, _e_1)) && referenceEq(_stmts, _stmts2)) && referenceEq(_algElse, _algElse1));
8457 #line 4535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8458  if(tmp16)
8459 #line 4535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8460  {
8461 #line 4535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8462  tmpMeta[2] = mmc_mk_cons(_inStmt, MMC_REFSTRUCTLIT(mmc_nil));
8463 #line 4535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8464  tmpMeta[3] = tmpMeta[2];
8465 #line 4535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8466  }
8467 #line 4535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8468  else
8469 #line 4535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8470  {
8471 #line 4535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8472  tmpMeta[3] = _stmts1;
8473 #line 4535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8474  }
8475 #line 4535 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8476  _stmts1 = tmpMeta[3];
8477 #line 8477 OMC_FILE
8478 #line 4536 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8479  tmpMeta[0+0] = _stmts1;
8480 #line 4536 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8481  tmpMeta[0+1] = _extraArg;
8482 #line 8482 OMC_FILE
8483  goto tmp3_done;
8484  }
8485  case 4: {
8486  modelica_integer tmp17;
8487  modelica_integer tmp18;
8488  modelica_boolean tmp19;
8489  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,4,7) == 0) goto tmp3_end;
8490  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
8491  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
8492  tmp17 = mmc_unbox_integer(tmpMeta[3]);
8493  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
8494  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 5));
8495  tmp18 = mmc_unbox_integer(tmpMeta[5]);
8496  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 6));
8497  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 7));
8498  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 8));
8499 
8500  _tp = tmpMeta[2];
8501  _b1 = tmp17 /* pattern as ty=Boolean */;
8502  _id1 = tmpMeta[4];
8503  _ix = tmp18 /* pattern as ty=Integer */;
8504  _e = tmpMeta[6];
8505  _stmts = tmpMeta[7];
8506  _source = tmpMeta[8];
8507  _extraArg = tmp4_2;
8508  tmp4 += 12; /* Pattern matching succeeded; we may skip some cases if we fail */
8509 #line 4540 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8510  _stmts2 = omc_DAEUtil_traverseDAEEquationsStmtsList(threadData, _stmts, ((modelica_fnptr) _func), _opt, _extraArg ,&_extraArg);
8511 #line 8511 OMC_FILE
8512 
8513 #line 4541 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8514  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _extraArg ,&_extraArg);
8515 #line 8515 OMC_FILE
8516 
8517 #line 4542 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8518  tmp19 = (modelica_boolean)(referenceEq(_e, _e_1) && referenceEq(_stmts, _stmts2));
8519 #line 4542 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8520  if(tmp19)
8521 #line 4542 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8522  {
8523 #line 4542 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8524  tmpMeta[3] = _inStmt;
8525 #line 4542 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8526  }
8527 #line 4542 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8528  else
8529 #line 4542 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8530  {
8531 #line 4542 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8532  tmpMeta[2] = mmc_mk_box8(7, &DAE_Statement_STMT__FOR__desc, _tp, mmc_mk_boolean(_b1), _id1, mmc_mk_integer((modelica_integer)_ix), _e_1, _stmts2, _source);
8533 #line 4542 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8534  tmpMeta[3] = tmpMeta[2];
8535 #line 4542 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8536  }
8537 #line 4542 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8538  _x = tmpMeta[3];
8539 #line 8539 OMC_FILE
8540 #line 4543 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8541  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
8542 #line 4543 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8543  tmpMeta[0+0] = tmpMeta[2];
8544 #line 4543 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8545  tmpMeta[0+1] = _extraArg;
8546 #line 8546 OMC_FILE
8547  goto tmp3_done;
8548  }
8549  case 5: {
8550  modelica_integer tmp20;
8551  modelica_integer tmp21;
8552  modelica_boolean tmp22;
8553  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,5,8) == 0) goto tmp3_end;
8554  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
8555  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
8556  tmp20 = mmc_unbox_integer(tmpMeta[3]);
8557  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
8558  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 5));
8559  tmp21 = mmc_unbox_integer(tmpMeta[5]);
8560  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 6));
8561  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 7));
8562  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 8));
8563  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 9));
8564 
8565  _tp = tmpMeta[2];
8566  _b1 = tmp20 /* pattern as ty=Boolean */;
8567  _id1 = tmpMeta[4];
8568  _ix = tmp21 /* pattern as ty=Integer */;
8569  _e = tmpMeta[6];
8570  _stmts = tmpMeta[7];
8571  _loopPrlVars = tmpMeta[8];
8572  _source = tmpMeta[9];
8573  _extraArg = tmp4_2;
8574  tmp4 += 11; /* Pattern matching succeeded; we may skip some cases if we fail */
8575 #line 4547 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8576  _stmts2 = omc_DAEUtil_traverseDAEEquationsStmtsList(threadData, _stmts, ((modelica_fnptr) _func), _opt, _extraArg ,&_extraArg);
8577 #line 8577 OMC_FILE
8578 
8579 #line 4548 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8580  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _extraArg ,&_extraArg);
8581 #line 8581 OMC_FILE
8582 
8583 #line 4549 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8584  tmp22 = (modelica_boolean)(referenceEq(_e, _e_1) && referenceEq(_stmts, _stmts2));
8585 #line 4549 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8586  if(tmp22)
8587 #line 4549 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8588  {
8589 #line 4549 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8590  tmpMeta[3] = _inStmt;
8591 #line 4549 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8592  }
8593 #line 4549 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8594  else
8595 #line 4549 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8596  {
8597 #line 4549 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8598  tmpMeta[2] = mmc_mk_box9(8, &DAE_Statement_STMT__PARFOR__desc, _tp, mmc_mk_boolean(_b1), _id1, mmc_mk_integer((modelica_integer)_ix), _e_1, _stmts2, _loopPrlVars, _source);
8599 #line 4549 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8600  tmpMeta[3] = tmpMeta[2];
8601 #line 4549 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8602  }
8603 #line 4549 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8604  _x = tmpMeta[3];
8605 #line 8605 OMC_FILE
8606 #line 4550 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8607  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
8608 #line 4550 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8609  tmpMeta[0+0] = tmpMeta[2];
8610 #line 4550 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8611  tmpMeta[0+1] = _extraArg;
8612 #line 8612 OMC_FILE
8613  goto tmp3_done;
8614  }
8615  case 6: {
8616  modelica_boolean tmp23;
8617  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,3) == 0) goto tmp3_end;
8618  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
8619  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
8620  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
8621 
8622  _e = tmpMeta[2];
8623  _stmts = tmpMeta[3];
8624  _source = tmpMeta[4];
8625  _extraArg = tmp4_2;
8626  tmp4 += 10; /* Pattern matching succeeded; we may skip some cases if we fail */
8627 #line 4554 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8628  _stmts2 = omc_DAEUtil_traverseDAEEquationsStmtsList(threadData, _stmts, ((modelica_fnptr) _func), _opt, _extraArg ,&_extraArg);
8629 #line 8629 OMC_FILE
8630 
8631 #line 4555 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8632  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _extraArg ,&_extraArg);
8633 #line 8633 OMC_FILE
8634 
8635 #line 4556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8636  tmp23 = (modelica_boolean)(referenceEq(_e, _e_1) && referenceEq(_stmts, _stmts2));
8637 #line 4556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8638  if(tmp23)
8639 #line 4556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8640  {
8641 #line 4556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8642  tmpMeta[3] = _inStmt;
8643 #line 4556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8644  }
8645 #line 4556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8646  else
8647 #line 4556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8648  {
8649 #line 4556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8650  tmpMeta[2] = mmc_mk_box4(9, &DAE_Statement_STMT__WHILE__desc, _e_1, _stmts2, _source);
8651 #line 4556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8652  tmpMeta[3] = tmpMeta[2];
8653 #line 4556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8654  }
8655 #line 4556 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8656  _x = tmpMeta[3];
8657 #line 8657 OMC_FILE
8658 #line 4557 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8659  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
8660 #line 4557 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8661  tmpMeta[0+0] = tmpMeta[2];
8662 #line 4557 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8663  tmpMeta[0+1] = _extraArg;
8664 #line 8664 OMC_FILE
8665  goto tmp3_done;
8666  }
8667  case 7: {
8668  modelica_integer tmp24;
8669  modelica_boolean tmp25;
8670  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,7,6) == 0) goto tmp3_end;
8671  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
8672  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
8673  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
8674  tmp24 = mmc_unbox_integer(tmpMeta[4]);
8675  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 5));
8676  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 6));
8677  if (!optionNone(tmpMeta[6])) goto tmp3_end;
8678  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 7));
8679 
8680  _e = tmpMeta[2];
8681  _conditions = tmpMeta[3];
8682  _initialCall = tmp24 /* pattern as ty=Boolean */;
8683  _stmts = tmpMeta[5];
8684  _source = tmpMeta[7];
8685  _extraArg = tmp4_2;
8686  tmp4 += 9; /* Pattern matching succeeded; we may skip some cases if we fail */
8687 #line 4561 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8688  _stmts2 = omc_DAEUtil_traverseDAEEquationsStmtsList(threadData, _stmts, ((modelica_fnptr) _func), _opt, _extraArg ,&_extraArg);
8689 #line 8689 OMC_FILE
8690 
8691 #line 4562 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8692  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _extraArg ,&_extraArg);
8693 #line 8693 OMC_FILE
8694 
8695 #line 4563 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8696  tmp25 = (modelica_boolean)(referenceEq(_e, _e_1) && referenceEq(_stmts, _stmts2));
8697 #line 4563 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8698  if(tmp25)
8699 #line 4563 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8700  {
8701 #line 4563 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8702  tmpMeta[3] = _inStmt;
8703 #line 4563 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8704  }
8705 #line 4563 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8706  else
8707 #line 4563 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8708  {
8709 #line 4563 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8710  tmpMeta[2] = mmc_mk_box7(10, &DAE_Statement_STMT__WHEN__desc, _e_1, _conditions, mmc_mk_boolean(_initialCall), _stmts2, mmc_mk_none(), _source);
8711 #line 4563 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8712  tmpMeta[3] = tmpMeta[2];
8713 #line 4563 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8714  }
8715 #line 4563 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8716  _x = tmpMeta[3];
8717 #line 8717 OMC_FILE
8718 #line 4564 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8719  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
8720 #line 4564 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8721  tmpMeta[0+0] = tmpMeta[2];
8722 #line 4564 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8723  tmpMeta[0+1] = _extraArg;
8724 #line 8724 OMC_FILE
8725  goto tmp3_done;
8726  }
8727  case 8: {
8728  modelica_integer tmp26;
8729  modelica_boolean tmp27;
8730  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,7,6) == 0) goto tmp3_end;
8731  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
8732  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
8733  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
8734  tmp26 = mmc_unbox_integer(tmpMeta[4]);
8735  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 5));
8736  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 6));
8737  if (optionNone(tmpMeta[6])) goto tmp3_end;
8738  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 1));
8739  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 7));
8740 
8741  _e = tmpMeta[2];
8742  _conditions = tmpMeta[3];
8743  _initialCall = tmp26 /* pattern as ty=Boolean */;
8744  _stmts = tmpMeta[5];
8745  _ew = tmpMeta[7];
8746  _source = tmpMeta[8];
8747  _extraArg = tmp4_2;
8748  tmp4 += 8; /* Pattern matching succeeded; we may skip some cases if we fail */
8749 #line 4568 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8750  /* Pattern-matching tuple assignment */
8751 #line 4568 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8752  tmpMeta[3] = mmc_mk_cons(_ew, MMC_REFSTRUCTLIT(mmc_nil));
8753 #line 4568 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8754  tmpMeta[4] = omc_DAEUtil_traverseDAEEquationsStmtsList(threadData, tmpMeta[3], ((modelica_fnptr) _func), _opt, _extraArg, &tmpMeta[2]);
8755 #line 4568 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8756  if (listEmpty(tmpMeta[4])) goto goto_2;
8757 #line 4568 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8758  tmpMeta[5] = MMC_CAR(tmpMeta[4]);
8759 #line 4568 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8760  tmpMeta[6] = MMC_CDR(tmpMeta[4]);
8761 #line 4568 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8762  if (!listEmpty(tmpMeta[6])) goto goto_2;
8763 #line 4568 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8764  _ew_1 = tmpMeta[5];
8765 #line 4568 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8766  _extraArg = tmpMeta[2];
8767 #line 8767 OMC_FILE
8768 
8769 #line 4569 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8770  _stmts2 = omc_DAEUtil_traverseDAEEquationsStmtsList(threadData, _stmts, ((modelica_fnptr) _func), _opt, _extraArg ,&_extraArg);
8771 #line 8771 OMC_FILE
8772 
8773 #line 4570 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8774  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _extraArg ,&_extraArg);
8775 #line 8775 OMC_FILE
8776 
8777 #line 4571 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8778  tmp27 = (modelica_boolean)((referenceEq(_ew, _ew_1) && referenceEq(_e, _e_1)) && referenceEq(_stmts, _stmts2));
8779 #line 4571 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8780  if(tmp27)
8781 #line 4571 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8782  {
8783 #line 4571 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8784  tmpMeta[3] = _inStmt;
8785 #line 4571 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8786  }
8787 #line 4571 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8788  else
8789 #line 4571 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8790  {
8791 #line 4571 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8792  tmpMeta[2] = mmc_mk_box7(10, &DAE_Statement_STMT__WHEN__desc, _e_1, _conditions, mmc_mk_boolean(_initialCall), _stmts2, mmc_mk_some(_ew_1), _source);
8793 #line 4571 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8794  tmpMeta[3] = tmpMeta[2];
8795 #line 4571 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8796  }
8797 #line 4571 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8798  _x = tmpMeta[3];
8799 #line 8799 OMC_FILE
8800 #line 4572 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8801  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
8802 #line 4572 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8803  tmpMeta[0+0] = tmpMeta[2];
8804 #line 4572 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8805  tmpMeta[0+1] = _extraArg;
8806 #line 8806 OMC_FILE
8807  goto tmp3_done;
8808  }
8809  case 9: {
8810  modelica_boolean tmp28;
8811  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,8,4) == 0) goto tmp3_end;
8812  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
8813  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
8814  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
8815  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 5));
8816 
8817  _e = tmpMeta[2];
8818  _e2 = tmpMeta[3];
8819  _e3 = tmpMeta[4];
8820  _source = tmpMeta[5];
8821  _extraArg = tmp4_2;
8822  tmp4 += 7; /* Pattern matching succeeded; we may skip some cases if we fail */
8823 #line 4576 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8824  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _extraArg ,&_extraArg);
8825 #line 8825 OMC_FILE
8826 
8827 #line 4577 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8828  _e_2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _extraArg ,&_extraArg);
8829 #line 8829 OMC_FILE
8830 
8831 #line 4578 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8832  _e_3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e3, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e3, _extraArg ,&_extraArg);
8833 #line 8833 OMC_FILE
8834 
8835 #line 4579 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8836  tmp28 = (modelica_boolean)((referenceEq(_e, _e_1) && referenceEq(_e2, _e_2)) && referenceEq(_e3, _e_3));
8837 #line 4579 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8838  if(tmp28)
8839 #line 4579 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8840  {
8841 #line 4579 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8842  tmpMeta[3] = _inStmt;
8843 #line 4579 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8844  }
8845 #line 4579 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8846  else
8847 #line 4579 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8848  {
8849 #line 4579 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8850  tmpMeta[2] = mmc_mk_box5(11, &DAE_Statement_STMT__ASSERT__desc, _e_1, _e_2, _e_3, _source);
8851 #line 4579 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8852  tmpMeta[3] = tmpMeta[2];
8853 #line 4579 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8854  }
8855 #line 4579 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8856  _x = tmpMeta[3];
8857 #line 8857 OMC_FILE
8858 #line 4580 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8859  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
8860 #line 4580 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8861  tmpMeta[0+0] = tmpMeta[2];
8862 #line 4580 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8863  tmpMeta[0+1] = _extraArg;
8864 #line 8864 OMC_FILE
8865  goto tmp3_done;
8866  }
8867  case 10: {
8868  modelica_boolean tmp29;
8869  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,9,2) == 0) goto tmp3_end;
8870  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
8871  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
8872 
8873  _e = tmpMeta[2];
8874  _source = tmpMeta[3];
8875  _extraArg = tmp4_2;
8876  tmp4 += 6; /* Pattern matching succeeded; we may skip some cases if we fail */
8877 #line 4584 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8878  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _extraArg ,&_extraArg);
8879 #line 8879 OMC_FILE
8880 
8881 #line 4585 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8882  tmp29 = (modelica_boolean)referenceEq(_e, _e_1);
8883 #line 4585 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8884  if(tmp29)
8885 #line 4585 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8886  {
8887 #line 4585 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8888  tmpMeta[3] = _inStmt;
8889 #line 4585 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8890  }
8891 #line 4585 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8892  else
8893 #line 4585 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8894  {
8895 #line 4585 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8896  tmpMeta[2] = mmc_mk_box3(12, &DAE_Statement_STMT__TERMINATE__desc, _e_1, _source);
8897 #line 4585 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8898  tmpMeta[3] = tmpMeta[2];
8899 #line 4585 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8900  }
8901 #line 4585 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8902  _x = tmpMeta[3];
8903 #line 8903 OMC_FILE
8904 #line 4586 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8905  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
8906 #line 4586 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8907  tmpMeta[0+0] = tmpMeta[2];
8908 #line 4586 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8909  tmpMeta[0+1] = _extraArg;
8910 #line 8910 OMC_FILE
8911  goto tmp3_done;
8912  }
8913  case 11: {
8914  modelica_boolean tmp30;
8915  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,10,3) == 0) goto tmp3_end;
8916  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
8917  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
8918  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
8919 
8920  _e = tmpMeta[2];
8921  _e2 = tmpMeta[3];
8922  _source = tmpMeta[4];
8923  _extraArg = tmp4_2;
8924  tmp4 += 5; /* Pattern matching succeeded; we may skip some cases if we fail */
8925 #line 4590 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8926  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _extraArg ,&_extraArg);
8927 #line 8927 OMC_FILE
8928 
8929 #line 4591 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8930  _e_2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _extraArg ,&_extraArg);
8931 #line 8931 OMC_FILE
8932 
8933 #line 4592 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8934  tmp30 = (modelica_boolean)(referenceEq(_e, _e_1) && referenceEq(_e2, _e_2));
8935 #line 4592 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8936  if(tmp30)
8937 #line 4592 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8938  {
8939 #line 4592 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8940  tmpMeta[3] = _inStmt;
8941 #line 4592 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8942  }
8943 #line 4592 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8944  else
8945 #line 4592 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8946  {
8947 #line 4592 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8948  tmpMeta[2] = mmc_mk_box4(13, &DAE_Statement_STMT__REINIT__desc, _e_1, _e_2, _source);
8949 #line 4592 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8950  tmpMeta[3] = tmpMeta[2];
8951 #line 4592 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8952  }
8953 #line 4592 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8954  _x = tmpMeta[3];
8955 #line 8955 OMC_FILE
8956 #line 4593 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8957  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
8958 #line 4593 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8959  tmpMeta[0+0] = tmpMeta[2];
8960 #line 4593 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8961  tmpMeta[0+1] = _extraArg;
8962 #line 8962 OMC_FILE
8963  goto tmp3_done;
8964  }
8965  case 12: {
8966  modelica_boolean tmp31;
8967  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,11,2) == 0) goto tmp3_end;
8968  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
8969  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
8970 
8971  _e = tmpMeta[2];
8972  _source = tmpMeta[3];
8973  _extraArg = tmp4_2;
8974  tmp4 += 4; /* Pattern matching succeeded; we may skip some cases if we fail */
8975 #line 4597 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8976  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _extraArg ,&_extraArg);
8977 #line 8977 OMC_FILE
8978 
8979 #line 4598 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8980  tmp31 = (modelica_boolean)referenceEq(_e, _e_1);
8981 #line 4598 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8982  if(tmp31)
8983 #line 4598 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8984  {
8985 #line 4598 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8986  tmpMeta[3] = _inStmt;
8987 #line 4598 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8988  }
8989 #line 4598 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8990  else
8991 #line 4598 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8992  {
8993 #line 4598 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8994  tmpMeta[2] = mmc_mk_box3(14, &DAE_Statement_STMT__NORETCALL__desc, _e_1, _source);
8995 #line 4598 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8996  tmpMeta[3] = tmpMeta[2];
8997 #line 4598 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
8998  }
8999 #line 4598 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9000  _x = tmpMeta[3];
9001 #line 9001 OMC_FILE
9002 #line 4599 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9003  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
9004 #line 4599 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9005  tmpMeta[0+0] = tmpMeta[2];
9006 #line 4599 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9007  tmpMeta[0+1] = _extraArg;
9008 #line 9008 OMC_FILE
9009  goto tmp3_done;
9010  }
9011  case 13: {
9012  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,12,1) == 0) goto tmp3_end;
9013 
9014  _x = tmp4_1;
9015  _extraArg = tmp4_2;
9016  tmp4 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
9017 #line 4602 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9018  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
9019 #line 4602 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9020  tmpMeta[0+0] = tmpMeta[2];
9021 #line 4602 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9022  tmpMeta[0+1] = _extraArg;
9023 #line 9023 OMC_FILE
9024  goto tmp3_done;
9025  }
9026  case 14: {
9027  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,1) == 0) goto tmp3_end;
9028 
9029  _x = tmp4_1;
9030  _extraArg = tmp4_2;
9031  tmp4 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
9032 #line 4605 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9033  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
9034 #line 4605 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9035  tmpMeta[0+0] = tmpMeta[2];
9036 #line 4605 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9037  tmpMeta[0+1] = _extraArg;
9038 #line 9038 OMC_FILE
9039  goto tmp3_done;
9040  }
9041  case 15: {
9042  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,14,1) == 0) goto tmp3_end;
9043 
9044  _x = tmp4_1;
9045  _extraArg = tmp4_2;
9046  tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
9047 #line 4608 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9048  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
9049 #line 4608 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9050  tmpMeta[0+0] = tmpMeta[2];
9051 #line 4608 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9052  tmpMeta[0+1] = _extraArg;
9053 #line 9053 OMC_FILE
9054  goto tmp3_done;
9055  }
9056  case 16: {
9057  modelica_boolean tmp32;
9058  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,16,2) == 0) goto tmp3_end;
9059  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
9060  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
9061 
9062  _stmts = tmpMeta[2];
9063  _source = tmpMeta[3];
9064  _extraArg = tmp4_2;
9065  /* Pattern matching succeeded */
9066 #line 4613 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9067  _stmts2 = omc_DAEUtil_traverseDAEEquationsStmtsList(threadData, _stmts, ((modelica_fnptr) _func), _opt, _extraArg ,&_extraArg);
9068 #line 9068 OMC_FILE
9069 
9070 #line 4614 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9071  tmp32 = (modelica_boolean)referenceEq(_stmts, _stmts2);
9072 #line 4614 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9073  if(tmp32)
9074 #line 4614 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9075  {
9076 #line 4614 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9077  tmpMeta[3] = _inStmt;
9078 #line 4614 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9079  }
9080 #line 4614 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9081  else
9082 #line 4614 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9083  {
9084 #line 4614 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9085  tmpMeta[2] = mmc_mk_box3(19, &DAE_Statement_STMT__FAILURE__desc, _stmts2, _source);
9086 #line 4614 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9087  tmpMeta[3] = tmpMeta[2];
9088 #line 4614 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9089  }
9090 #line 4614 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9091  _x = tmpMeta[3];
9092 #line 9092 OMC_FILE
9093 #line 4615 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9094  tmpMeta[2] = mmc_mk_cons(_x, MMC_REFSTRUCTLIT(mmc_nil));
9095 #line 4615 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9096  tmpMeta[0+0] = tmpMeta[2];
9097 #line 4615 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9098  tmpMeta[0+1] = _extraArg;
9099 #line 9099 OMC_FILE
9100  goto tmp3_done;
9101  }
9102  case 17: {
9103 
9104  _x = tmp4_1;
9105  /* Pattern matching succeeded */
9106 #line 4619 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9107  _str = omc_DAEDump_ppStatementStr(threadData, _x);
9108 #line 9108 OMC_FILE
9109 
9110 #line 4620 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9111  tmpMeta[2] = stringAppend(_OMC_LIT73,_str);
9112 #line 4620 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9113  _str = tmpMeta[2];
9114 #line 9114 OMC_FILE
9115 
9116 #line 4621 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9117  tmpMeta[2] = mmc_mk_cons(_str, MMC_REFSTRUCTLIT(mmc_nil));
9118 #line 4621 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9119  omc_Error_addMessage(threadData, _OMC_LIT72, tmpMeta[2]);
9120 #line 9120 OMC_FILE
9121 #line 4622 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9122  goto goto_2;
9123 #line 9123 OMC_FILE
9124  goto tmp3_done;
9125  }
9126  }
9127  goto tmp3_end;
9128  tmp3_end: ;
9129  }
9130  goto goto_2;
9131  tmp3_done:
9132  (void)tmp4;
9133  MMC_RESTORE_INTERNAL(mmc_jumper);
9134  goto tmp3_done2;
9135  goto_2:;
9136  MMC_CATCH_INTERNAL(mmc_jumper);
9137  if (++tmp4 < 18) {
9138  goto tmp3_top;
9139  }
9140  MMC_THROW_INTERNAL();
9141  tmp3_done2:;
9142  }
9143  }
9144  _outStmts = tmpMeta[0+0];
9145  _oextraArg = tmpMeta[0+1];
9146  _return: OMC_LABEL_UNUSED
9147  if (out_oextraArg) { *out_oextraArg = _oextraArg; }
9148  return _outStmts;
9149 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
modelica_metatype modelica_string
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEEquationsStmtsElse(threadData_t *threadData, modelica_metatype _inElse, modelica_fnptr _func, modelica_metatype _opt, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:7966
m_integer modelica_integer
struct record_description DAE_Statement_STMT__WHILE__desc
Definition: DAE_records.c:2877
signed char modelica_boolean
struct record_description DAE_Statement_STMT__NORETCALL__desc
Definition: DAE_records.c:2942
float mmc_switch_type
DLLExport modelica_metatype omc_Algorithm_optimizeIf(threadData_t *threadData, modelica_metatype _icond, modelica_metatype _istmts, modelica_metatype _iels, modelica_metatype _isource, modelica_boolean *out_changed)
Definition: Algorithm.c:1634
void * modelica_fnptr
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport void omc_Error_addMessage(threadData_t *threadData, modelica_metatype _inErrorMsg, modelica_metatype _inMessageTokens)
Definition: Error.c:1082
struct record_description DAE_Statement_STMT__TUPLE__ASSIGN__desc
Definition: DAE_records.c:2812
struct record_description DAE_Statement_STMT__PARFOR__desc
Definition: DAE_records.c:2864
struct record_description DAE_Exp_TUPLE__desc
Definition: DAE_records.c:5542
void * modelica_metatype
struct record_description DAE_Statement_STMT__REINIT__desc
Definition: DAE_records.c:2929
struct record_description DAE_Statement_STMT__TERMINATE__desc
Definition: DAE_records.c:2916
struct record_description DAE_Statement_STMT__ASSIGN__ARR__desc
Definition: DAE_records.c:2825
struct record_description DAE_Statement_STMT__WHEN__desc
Definition: DAE_records.c:2890
DLLExport modelica_string omc_DAEDump_ppStatementStr(threadData_t *threadData, modelica_metatype _alg)
Definition: DAEDump.c:10431
struct record_description DAE_Statement_STMT__FAILURE__desc
Definition: DAE_records.c:3007
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
struct record_description DAE_Statement_STMT__FOR__desc
Definition: DAE_records.c:2851
struct record_description DAE_Statement_STMT__ASSIGN__desc
Definition: DAE_records.c:2799
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseStatementsOptionsEvalLhs(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inA, modelica_fnptr _func, modelica_metatype _opt, modelica_metatype *out_outA)
Definition: DAEUtil.c:9151
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEEquationsStmtsList(threadData_t *threadData, modelica_metatype _inStmts, modelica_fnptr _func, modelica_metatype _opt, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:9208
struct record_description DAE_Statement_STMT__ASSERT__desc
Definition: DAE_records.c:2903
Here is the call graph for this function:

◆ omc_DAEUtil_traverseDAEExpList()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEExpList ( threadData_t threadData,
modelica_metatype  _iexps,
modelica_fnptr  _func,
modelica_metatype  _iextraArg,
modelica_metatype out_oextraArg 
)

Definition at line 11720 of file DAEUtil.c.

11721 {
11722  modelica_metatype _oexps = NULL;
11723  modelica_metatype _oextraArg = NULL;
11724  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
11725  MMC_SO();
11726  _tailrecursive: OMC_LABEL_UNUSED
11727 #line 3773 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11728 
11729 #line 3773 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11730 
11731 #line 11731 OMC_FILE
11732  { /* match expression */
11733  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
11734  tmp4_1 = _iexps;
11735  tmp4_2 = _iextraArg;
11736  {
11737  modelica_metatype _e = NULL;
11738  modelica_metatype _extraArg = NULL;
11739  modelica_metatype _exps = NULL;
11740  volatile mmc_switch_type tmp4;
11741  int tmp5;
11742  tmp4 = 0;
11743  for (; tmp4 < 2; tmp4++) {
11744  switch (MMC_SWITCH_CAST(tmp4)) {
11745  case 0: {
11746  if (!listEmpty(tmp4_1)) goto tmp3_end;
11747 
11748  _extraArg = tmp4_2;
11749  /* Pattern matching succeeded */
11750 #line 3779 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11751  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
11752 #line 3779 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11753  tmpMeta[0+0] = tmpMeta[2];
11754 #line 3779 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11755  tmpMeta[0+1] = _extraArg;
11756 #line 11756 OMC_FILE
11757  goto tmp3_done;
11758  }
11759  case 1: {
11760  if (listEmpty(tmp4_1)) goto tmp3_end;
11761  tmpMeta[2] = MMC_CAR(tmp4_1);
11762  tmpMeta[3] = MMC_CDR(tmp4_1);
11763 
11764  _e = tmpMeta[2];
11765  _exps = tmpMeta[3];
11766  _extraArg = tmp4_2;
11767  /* Pattern matching succeeded */
11768 #line 3783 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11769  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _extraArg ,&_extraArg);
11770 #line 11770 OMC_FILE
11771 
11772 #line 3784 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11773  _oexps = omc_DAEUtil_traverseDAEExpList(threadData, _exps, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
11774 #line 11774 OMC_FILE
11775 #line 3785 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11776  tmpMeta[2] = mmc_mk_cons(_e, _oexps);
11777 #line 3785 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11778  tmpMeta[0+0] = tmpMeta[2];
11779 #line 3785 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11780  tmpMeta[0+1] = _extraArg;
11781 #line 11781 OMC_FILE
11782  goto tmp3_done;
11783  }
11784  }
11785  goto tmp3_end;
11786  tmp3_end: ;
11787  }
11788  goto goto_2;
11789  goto_2:;
11790  MMC_THROW_INTERNAL();
11791  goto tmp3_done;
11792  tmp3_done:;
11793  }
11794  }
11795  _oexps = tmpMeta[0+0];
11796  _oextraArg = tmpMeta[0+1];
11797  _return: OMC_LABEL_UNUSED
11798  if (out_oextraArg) { *out_oextraArg = _oextraArg; }
11799  return _oexps;
11800 }
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEExpList(threadData_t *threadData, modelica_metatype _iexps, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:11720
float mmc_switch_type
void * modelica_fnptr
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_traverseDAEExpListStmt()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEExpListStmt ( threadData_t threadData,
modelica_metatype  _iexps,
modelica_fnptr  _func,
modelica_metatype  _istmt,
modelica_metatype  _iextraArg,
modelica_metatype out_oextraArg 
)

Definition at line 6652 of file DAEUtil.c.

6653 {
6654  modelica_metatype _oexps = NULL;
6655  modelica_metatype _oextraArg = NULL;
6656  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
6657  MMC_SO();
6658  _tailrecursive: OMC_LABEL_UNUSED
6659 #line 4901 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6660 
6661 #line 4901 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6662 
6663 #line 6663 OMC_FILE
6664  { /* match expression */
6665  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
6666  tmp4_1 = _iexps;
6667  tmp4_2 = _iextraArg;
6668  {
6669  modelica_metatype _e = NULL;
6670  modelica_metatype _extraArg = NULL;
6671  modelica_metatype _exps = NULL;
6672  volatile mmc_switch_type tmp4;
6673  int tmp5;
6674  tmp4 = 0;
6675  for (; tmp4 < 2; tmp4++) {
6676  switch (MMC_SWITCH_CAST(tmp4)) {
6677  case 0: {
6678  if (!listEmpty(tmp4_1)) goto tmp3_end;
6679 
6680  _extraArg = tmp4_2;
6681  /* Pattern matching succeeded */
6682 #line 4907 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6683  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
6684 #line 4907 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6685  tmpMeta[0+0] = tmpMeta[2];
6686 #line 4907 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6687  tmpMeta[0+1] = _extraArg;
6688 #line 6688 OMC_FILE
6689  goto tmp3_done;
6690  }
6691  case 1: {
6692  if (listEmpty(tmp4_1)) goto tmp3_end;
6693  tmpMeta[2] = MMC_CAR(tmp4_1);
6694  tmpMeta[3] = MMC_CDR(tmp4_1);
6695 
6696  _e = tmpMeta[2];
6697  _exps = tmpMeta[3];
6698  _extraArg = tmp4_2;
6699  /* Pattern matching succeeded */
6700 #line 4911 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6701  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _istmt, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _istmt, _extraArg ,&_extraArg);
6702 #line 6702 OMC_FILE
6703 
6704 #line 4912 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6705  _oexps = omc_DAEUtil_traverseDAEExpListStmt(threadData, _exps, ((modelica_fnptr) _func), _istmt, _extraArg ,&_extraArg);
6706 #line 6706 OMC_FILE
6707 #line 4913 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6708  tmpMeta[2] = mmc_mk_cons(_e, _oexps);
6709 #line 4913 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6710  tmpMeta[0+0] = tmpMeta[2];
6711 #line 4913 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6712  tmpMeta[0+1] = _extraArg;
6713 #line 6713 OMC_FILE
6714  goto tmp3_done;
6715  }
6716  }
6717  goto tmp3_end;
6718  tmp3_end: ;
6719  }
6720  goto goto_2;
6721  goto_2:;
6722  MMC_THROW_INTERNAL();
6723  goto tmp3_done;
6724  tmp3_done:;
6725  }
6726  }
6727  _oexps = tmpMeta[0+0];
6728  _oextraArg = tmpMeta[0+1];
6729  _return: OMC_LABEL_UNUSED
6730  if (out_oextraArg) { *out_oextraArg = _oextraArg; }
6731  return _oexps;
6732 }
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEExpListStmt(threadData_t *threadData, modelica_metatype _iexps, modelica_fnptr _func, modelica_metatype _istmt, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:6652
float mmc_switch_type
void * modelica_fnptr
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_traverseDAEFunc()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEFunc ( threadData_t threadData,
modelica_metatype $in_daeFunction,
modelica_fnptr  _func,
modelica_metatype $in_arg,
modelica_metatype out_arg 
)

Definition at line 11093 of file DAEUtil.c.

11094 {
11095  modelica_metatype _daeFunction = NULL;
11096  modelica_metatype _arg = NULL;
11097  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
11098  MMC_SO();
11099  _tailrecursive: OMC_LABEL_UNUSED
11100  _daeFunction = _$in_daeFunction;
11101  _arg = _$in_arg;
11102 #line 11102 OMC_FILE
11103  { /* match expression */
11104  modelica_metatype tmp3_1;
11105  tmp3_1 = _daeFunction;
11106  {
11107  modelica_metatype _fdef = NULL;
11108  modelica_metatype _rest_defs = NULL;
11109  modelica_metatype _el = NULL;
11110  volatile mmc_switch_type tmp3;
11111  int tmp4;
11112  tmp3 = 0;
11113  for (; tmp3 < 3; tmp3++) {
11114  switch (MMC_SWITCH_CAST(tmp3)) {
11115  case 0: {
11116  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,9) == 0) goto tmp2_end;
11117  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
11118  if (listEmpty(tmpMeta[0])) goto tmp2_end;
11119  tmpMeta[1] = MMC_CAR(tmpMeta[0]);
11120  tmpMeta[2] = MMC_CDR(tmpMeta[0]);
11121  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
11122 
11123  _fdef = tmpMeta[1];
11124  _rest_defs = tmpMeta[2];
11125  /* Pattern matching succeeded */
11126 #line 3952 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11127  _el = omc_DAEUtil_traverseDAEElementList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_fdef), 2))), ((modelica_fnptr) _func), _arg ,&_arg);
11128 #line 11128 OMC_FILE
11129 
11130 #line 3954 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11131  if((!referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_fdef), 2))), _el)))
11132 #line 3954 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11133  {
11134 #line 3955 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11135  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(3));
11136 #line 3955 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11137  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_fdef), 3*sizeof(modelica_metatype));
11138 #line 3955 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11139  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _el;
11140 #line 3955 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11141  _fdef = tmpMeta[0];
11142 #line 11142 OMC_FILE
11143 
11144 #line 3956 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11145  tmpMeta[1] = mmc_mk_cons(_fdef, _rest_defs);
11146 #line 3956 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11147  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(11));
11148 #line 3956 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11149  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_daeFunction), 11*sizeof(modelica_metatype));
11150 #line 3956 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11151  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = tmpMeta[1];
11152 #line 3956 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11153  _daeFunction = tmpMeta[0];
11154 #line 11154 OMC_FILE
11155  }
11156 #line 11156 OMC_FILE
11157  goto tmp2_done;
11158  }
11159  case 1: {
11160  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,9) == 0) goto tmp2_end;
11161  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
11162  if (listEmpty(tmpMeta[0])) goto tmp2_end;
11163  tmpMeta[1] = MMC_CAR(tmpMeta[0]);
11164  tmpMeta[2] = MMC_CDR(tmpMeta[0]);
11165  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,2) == 0) goto tmp2_end;
11166 
11167  _fdef = tmpMeta[1];
11168  _rest_defs = tmpMeta[2];
11169  /* Pattern matching succeeded */
11170 #line 3963 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11171  _el = omc_DAEUtil_traverseDAEElementList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_fdef), 2))), ((modelica_fnptr) _func), _arg ,&_arg);
11172 #line 11172 OMC_FILE
11173 
11174 #line 3965 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11175  if((!referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_fdef), 2))), _el)))
11176 #line 3965 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11177  {
11178 #line 3966 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11179  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
11180 #line 3966 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11181  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_fdef), 4*sizeof(modelica_metatype));
11182 #line 3966 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11183  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _el;
11184 #line 3966 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11185  _fdef = tmpMeta[0];
11186 #line 11186 OMC_FILE
11187 
11188 #line 3967 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11189  tmpMeta[1] = mmc_mk_cons(_fdef, _rest_defs);
11190 #line 3967 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11191  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(11));
11192 #line 3967 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11193  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_daeFunction), 11*sizeof(modelica_metatype));
11194 #line 3967 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11195  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = tmpMeta[1];
11196 #line 3967 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11197  _daeFunction = tmpMeta[0];
11198 #line 11198 OMC_FILE
11199  }
11200 #line 11200 OMC_FILE
11201  goto tmp2_done;
11202  }
11203  case 2: {
11204  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,3) == 0) goto tmp2_end;
11205 
11206  /* Pattern matching succeeded */
11207 #line 11207 OMC_FILE
11208  goto tmp2_done;
11209  }
11210  }
11211  goto tmp2_end;
11212  tmp2_end: ;
11213  }
11214  goto goto_1;
11215  goto_1:;
11216  MMC_THROW_INTERNAL();
11217  goto tmp2_done;
11218  tmp2_done:;
11219  }
11220  }
11221  ;
11222  _return: OMC_LABEL_UNUSED
11223  if (out_arg) { *out_arg = _arg; }
11224  return _daeFunction;
11225 }
DLLExport modelica_metatype omc_DAEUtil_traverseDAEElementList(threadData_t *threadData, modelica_metatype _ $in_elements, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
Definition: DAEUtil.c:11074
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
void * modelica_fnptr
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_traverseDAEFuncHelper()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEFuncHelper ( threadData_t threadData,
modelica_metatype  _key,
modelica_metatype $in_value,
modelica_fnptr  _func,
modelica_metatype $in_arg,
modelica_metatype out_arg 
)

Definition at line 11252 of file DAEUtil.c.

11253 {
11254  modelica_metatype _value = NULL;
11255  modelica_metatype _arg = NULL;
11256  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
11257  MMC_SO();
11258  _tailrecursive: OMC_LABEL_UNUSED
11259  _value = _$in_value;
11260  _arg = _$in_arg;
11261 #line 3902 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11262 
11263 #line 3902 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11264 
11265 #line 11265 OMC_FILE
11266  { /* match expression */
11267  modelica_metatype tmp4_1;
11268  tmp4_1 = _value;
11269  {
11270  modelica_metatype _daeFunc1 = NULL;
11271  modelica_metatype _daeFunc2 = NULL;
11272  volatile mmc_switch_type tmp4;
11273  int tmp5;
11274  tmp4 = 0;
11275  for (; tmp4 < 2; tmp4++) {
11276  switch (MMC_SWITCH_CAST(tmp4)) {
11277  case 0: {
11278  if (optionNone(tmp4_1)) goto tmp3_end;
11279  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
11280  _daeFunc1 = tmpMeta[2];
11281  /* Pattern matching succeeded */
11282 #line 3907 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11283  _daeFunc2 = omc_DAEUtil_traverseDAEFunc(threadData, _daeFunc1, ((modelica_fnptr) _func), _arg ,&_arg);
11284 #line 11284 OMC_FILE
11285 #line 3908 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11286  tmpMeta[0+0] = (referenceEq(_daeFunc1, _daeFunc2)?_value:mmc_mk_some(_daeFunc2));
11287 #line 3908 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11288  tmpMeta[0+1] = _arg;
11289 #line 11289 OMC_FILE
11290  goto tmp3_done;
11291  }
11292  case 1: {
11293  modelica_boolean tmp6;
11294  if (!optionNone(tmp4_1)) goto tmp3_end;
11295  /* Pattern matching succeeded */
11296 #line 3911 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11297  /* Pattern-matching assignment */
11298 #line 3911 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11299  tmp6 = omc_Flags_isSet(threadData, _OMC_LIT81);
11300 #line 3911 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11301  if (1 != tmp6) goto goto_2;
11302 #line 11302 OMC_FILE
11303 
11304 #line 3912 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11305  tmpMeta[2] = stringAppend(_OMC_LIT82,omc_Absyn_pathString(threadData, _key, _OMC_LIT29, 1, 0));
11306 #line 3912 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11307  omc_Debug_traceln(threadData, tmpMeta[2]);
11308 #line 11308 OMC_FILE
11309 #line 3913 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11310  goto goto_2;
11311 #line 11311 OMC_FILE
11312  goto tmp3_done;
11313  }
11314  }
11315  goto tmp3_end;
11316  tmp3_end: ;
11317  }
11318  goto goto_2;
11319  goto_2:;
11320  MMC_THROW_INTERNAL();
11321  goto tmp3_done;
11322  tmp3_done:;
11323  }
11324  }
11325  _value = tmpMeta[0+0];
11326  _arg = tmpMeta[0+1];
11327  _return: OMC_LABEL_UNUSED
11328  if (out_arg) { *out_arg = _arg; }
11329  return _value;
11330 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_fnptr
DLLExport modelica_boolean omc_Flags_isSet(threadData_t *threadData, modelica_metatype _inFlag)
Definition: Flags.c:11632
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport void omc_Debug_traceln(threadData_t *threadData, modelica_string _str)
Definition: Debug.c:17
void * modelica_metatype
void *(* omc_Absyn_pathString)(threadData_t *, void *, void *, int, int)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEFunc(threadData_t *threadData, modelica_metatype _ $in_daeFunction, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
Definition: DAEUtil.c:11093
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_traverseDAEFunctions()

DLLExport modelica_metatype omc_DAEUtil_traverseDAEFunctions ( threadData_t threadData,
modelica_metatype $in_functions,
modelica_fnptr  _func,
modelica_metatype $in_arg,
modelica_metatype out_arg 
)

Definition at line 11233 of file DAEUtil.c.

11234 {
11236  modelica_metatype _arg = NULL;
11237  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
11238  MMC_SO();
11239  _tailrecursive: OMC_LABEL_UNUSED
11240  _functions = _$in_functions;
11241  _arg = _$in_arg;
11242 #line 3930 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11243  tmpMeta[0] = mmc_mk_box1(0, ((modelica_fnptr) _func));
11244 #line 3930 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11245  _functions = omc_List_mapFold(threadData, _functions, (modelica_fnptr) mmc_mk_box2(0,closure1_DAEUtil_traverseDAEFunc,tmpMeta[0]), _arg ,&_arg);
11246 #line 11246 OMC_FILE
11247  _return: OMC_LABEL_UNUSED
11248  if (out_arg) { *out_arg = _arg; }
11249  return _functions;
11250 }
void * modelica_fnptr
DLLExport modelica_metatype omc_List_mapFold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc, modelica_metatype _inArg, modelica_metatype *out_outArg)
Definition: List.c:9071
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_DAEUtil_traverseDAEList()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEList ( threadData_t threadData,
modelica_metatype  _idaeList,
modelica_fnptr  _func,
modelica_metatype  _iextraArg,
modelica_metatype out_oextraArg 
)

Definition at line 11636 of file DAEUtil.c.

11637 {
11638  modelica_metatype _traversedDaeList = NULL;
11639  modelica_metatype _oextraArg = NULL;
11640  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
11641  MMC_SO();
11642  _tailrecursive: OMC_LABEL_UNUSED
11643 #line 3805 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11644 
11645 #line 3805 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11646 
11647 #line 11647 OMC_FILE
11648  { /* match expression */
11649  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
11650  tmp4_1 = _idaeList;
11651  tmp4_2 = _iextraArg;
11652  {
11653  modelica_metatype _branch = NULL;
11654  modelica_metatype _branch2 = NULL;
11655  modelica_metatype _recRes = NULL;
11656  modelica_metatype _daeList = NULL;
11657  modelica_metatype _extraArg = NULL;
11658  volatile mmc_switch_type tmp4;
11659  int tmp5;
11660  tmp4 = 0;
11661  for (; tmp4 < 2; tmp4++) {
11662  switch (MMC_SWITCH_CAST(tmp4)) {
11663  case 0: {
11664  if (!listEmpty(tmp4_1)) goto tmp3_end;
11665 
11666  _extraArg = tmp4_2;
11667  /* Pattern matching succeeded */
11668 #line 3811 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11669  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
11670 #line 3811 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11671  tmpMeta[0+0] = tmpMeta[2];
11672 #line 3811 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11673  tmpMeta[0+1] = _extraArg;
11674 #line 11674 OMC_FILE
11675  goto tmp3_done;
11676  }
11677  case 1: {
11678  if (listEmpty(tmp4_1)) goto tmp3_end;
11679  tmpMeta[2] = MMC_CAR(tmp4_1);
11680  tmpMeta[3] = MMC_CDR(tmp4_1);
11681 
11682  _branch = tmpMeta[2];
11683  _daeList = tmpMeta[3];
11684  _extraArg = tmp4_2;
11685  /* Pattern matching succeeded */
11686 #line 3815 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11687  _branch2 = omc_DAEUtil_traverseDAEElementList(threadData, _branch, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
11688 #line 11688 OMC_FILE
11689 
11690 #line 3816 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11691  _recRes = omc_DAEUtil_traverseDAEList(threadData, _daeList, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
11692 #line 11692 OMC_FILE
11693 #line 3817 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11694  tmpMeta[2] = mmc_mk_cons(_branch2, _recRes);
11695 #line 3817 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11696  tmpMeta[0+0] = tmpMeta[2];
11697 #line 3817 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11698  tmpMeta[0+1] = _extraArg;
11699 #line 11699 OMC_FILE
11700  goto tmp3_done;
11701  }
11702  }
11703  goto tmp3_end;
11704  tmp3_end: ;
11705  }
11706  goto goto_2;
11707  goto_2:;
11708  MMC_THROW_INTERNAL();
11709  goto tmp3_done;
11710  tmp3_done:;
11711  }
11712  }
11713  _traversedDaeList = tmpMeta[0+0];
11714  _oextraArg = tmpMeta[0+1];
11715  _return: OMC_LABEL_UNUSED
11716  if (out_oextraArg) { *out_oextraArg = _oextraArg; }
11717  return _traversedDaeList;
11718 }
DLLExport modelica_metatype omc_DAEUtil_traverseDAEElementList(threadData_t *threadData, modelica_metatype _ $in_elements, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
Definition: DAEUtil.c:11074
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEList(threadData_t *threadData, modelica_metatype _idaeList, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:11636
float mmc_switch_type
void * modelica_fnptr
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_traverseDAEOptExp()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEOptExp ( threadData_t threadData,
modelica_metatype  _oexp,
modelica_fnptr  _func,
modelica_metatype  _iextraArg,
modelica_metatype out_oextraArg 
)

Definition at line 11802 of file DAEUtil.c.

11803 {
11804  modelica_metatype _ooexp = NULL;
11805  modelica_metatype _oextraArg = NULL;
11806  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
11807  MMC_SO();
11808  _tailrecursive: OMC_LABEL_UNUSED
11809 #line 3743 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11810 
11811 #line 3743 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11812 
11813 #line 11813 OMC_FILE
11814  { /* match expression */
11815  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
11816  tmp4_1 = _oexp;
11817  tmp4_2 = _iextraArg;
11818  {
11819  modelica_metatype _e = NULL;
11820  modelica_metatype _extraArg = NULL;
11821  volatile mmc_switch_type tmp4;
11822  int tmp5;
11823  tmp4 = 0;
11824  for (; tmp4 < 2; tmp4++) {
11825  switch (MMC_SWITCH_CAST(tmp4)) {
11826  case 0: {
11827  if (!optionNone(tmp4_1)) goto tmp3_end;
11828 
11829  _extraArg = tmp4_2;
11830  /* Pattern matching succeeded */
11831 #line 3748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11832  tmpMeta[0+0] = mmc_mk_none();
11833 #line 3748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11834  tmpMeta[0+1] = _extraArg;
11835 #line 11835 OMC_FILE
11836  goto tmp3_done;
11837  }
11838  case 1: {
11839  if (optionNone(tmp4_1)) goto tmp3_end;
11840  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
11841 
11842  _e = tmpMeta[2];
11843  _extraArg = tmp4_2;
11844  /* Pattern matching succeeded */
11845 #line 3752 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11846  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _extraArg ,&_extraArg);
11847 #line 11847 OMC_FILE
11848 #line 3753 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11849  tmpMeta[0+0] = mmc_mk_some(_e);
11850 #line 3753 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
11851  tmpMeta[0+1] = _extraArg;
11852 #line 11852 OMC_FILE
11853  goto tmp3_done;
11854  }
11855  }
11856  goto tmp3_end;
11857  tmp3_end: ;
11858  }
11859  goto goto_2;
11860  goto_2:;
11861  MMC_THROW_INTERNAL();
11862  goto tmp3_done;
11863  tmp3_done:;
11864  }
11865  }
11866  _ooexp = tmpMeta[0+0];
11867  _oextraArg = tmpMeta[0+1];
11868  _return: OMC_LABEL_UNUSED
11869  if (out_oextraArg) { *out_oextraArg = _oextraArg; }
11870  return _ooexp;
11871 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_traverseDAEStmts()

DLLExport modelica_metatype omc_DAEUtil_traverseDAEStmts ( threadData_t threadData,
modelica_metatype  _inStmts,
modelica_fnptr  _func,
modelica_metatype  _iextraArg,
modelica_metatype out_oextraArg 
)

Definition at line 6840 of file DAEUtil.c.

6841 {
6842  modelica_metatype _outStmts = NULL;
6843  modelica_metatype _oextraArg = NULL;
6844  modelica_metatype tmpMeta[12] __attribute__((unused)) = {0};
6845  MMC_SO();
6846  _tailrecursive: OMC_LABEL_UNUSED
6847 #line 4685 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6848 
6849 #line 4685 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6850 
6851 #line 6851 OMC_FILE
6852  { /* matchcontinue expression */
6853  volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;
6854  tmp4_1 = _inStmts;
6855  tmp4_2 = _iextraArg;
6856  {
6857  modelica_metatype _e_1 = NULL;
6858  modelica_metatype _e_2 = NULL;
6859  modelica_metatype _e = NULL;
6860  modelica_metatype _e2 = NULL;
6861  modelica_metatype _e3 = NULL;
6862  modelica_metatype _e_3 = NULL;
6863  modelica_metatype _expl1 = NULL;
6864  modelica_metatype _expl2 = NULL;
6865  modelica_metatype _xs_1 = NULL;
6866  modelica_metatype _xs = NULL;
6867  modelica_metatype _stmts = NULL;
6868  modelica_metatype _stmts1 = NULL;
6869  modelica_metatype _stmts2 = NULL;
6870  modelica_metatype _tp = NULL;
6871  modelica_metatype _x = NULL;
6872  modelica_metatype _ew = NULL;
6873  modelica_boolean _b1;
6874  modelica_string _id1 = NULL;
6875  modelica_string _str = NULL;
6876  modelica_integer _ix;
6877  modelica_metatype _source = NULL;
6878  modelica_metatype _algElse = NULL;
6879  modelica_metatype _extraArg = NULL;
6880  modelica_metatype _loopPrlVars = NULL;
6881  modelica_metatype _conditions = NULL;
6882  modelica_boolean _initialCall;
6883  volatile mmc_switch_type tmp4;
6884  int tmp5;
6885  tmp4 = 0;
6886  MMC_TRY_INTERNAL(mmc_jumper)
6887  tmp3_top:
6888  threadData->mmc_jumper = &new_mmc_jumper;
6889  for (; tmp4 < 19; tmp4++) {
6890  switch (MMC_SWITCH_CAST(tmp4)) {
6891  case 0: {
6892  if (!listEmpty(tmp4_1)) goto tmp3_end;
6893 
6894  _extraArg = tmp4_2;
6895  tmp4 += 18; /* Pattern matching succeeded; we may skip some cases if we fail */
6896 #line 4703 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6897  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
6898 #line 4703 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6899  tmpMeta[0+0] = tmpMeta[2];
6900 #line 4703 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6901  tmpMeta[0+1] = _extraArg;
6902 #line 6902 OMC_FILE
6903  goto tmp3_done;
6904  }
6905  case 1: {
6906  modelica_boolean tmp6;
6907  if (listEmpty(tmp4_1)) goto tmp3_end;
6908  tmpMeta[2] = MMC_CAR(tmp4_1);
6909  tmpMeta[3] = MMC_CDR(tmp4_1);
6910  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,4) == 0) goto tmp3_end;
6911  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
6912  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
6913  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
6914  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
6915 
6916  _x = tmpMeta[2];
6917  _tp = tmpMeta[4];
6918  _e2 = tmpMeta[5];
6919  _e = tmpMeta[6];
6920  _source = tmpMeta[7];
6921  _xs = tmpMeta[3];
6922  _extraArg = tmp4_2;
6923  tmp4 += 16; /* Pattern matching succeeded; we may skip some cases if we fail */
6924 #line 4707 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6925  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _x, _extraArg ,&_extraArg);
6926 #line 6926 OMC_FILE
6927 
6928 #line 4708 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6929  _e_2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _x, _extraArg ,&_extraArg);
6930 #line 6930 OMC_FILE
6931 
6932 #line 4709 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6933  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6934 #line 6934 OMC_FILE
6935 
6936 #line 4710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6937  tmp6 = (modelica_boolean)((referenceEq(_e, _e_1) && referenceEq(_e2, _e_2)) && referenceEq(_xs, _xs_1));
6938 #line 4710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6939  if(tmp6)
6940 #line 4710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6941  {
6942 #line 4710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6943  tmpMeta[4] = _inStmts;
6944 #line 4710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6945  }
6946 #line 4710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6947  else
6948 #line 4710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6949  {
6950 #line 4710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6951  tmpMeta[3] = mmc_mk_box5(3, &DAE_Statement_STMT__ASSIGN__desc, _tp, _e_2, _e_1, _source);
6952 #line 4710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6953  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _xs_1);
6954 #line 4710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6955  tmpMeta[4] = tmpMeta[2];
6956 #line 4710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6957  }
6958 #line 4710 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6959  _outStmts = tmpMeta[4];
6960 #line 6960 OMC_FILE
6961 #line 4711 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6962  tmpMeta[0+0] = _outStmts;
6963 #line 4711 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6964  tmpMeta[0+1] = _extraArg;
6965 #line 6965 OMC_FILE
6966  goto tmp3_done;
6967  }
6968  case 2: {
6969  modelica_boolean tmp7;
6970  if (listEmpty(tmp4_1)) goto tmp3_end;
6971  tmpMeta[2] = MMC_CAR(tmp4_1);
6972  tmpMeta[3] = MMC_CDR(tmp4_1);
6973  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],1,4) == 0) goto tmp3_end;
6974  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
6975  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
6976  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
6977  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
6978 
6979  _x = tmpMeta[2];
6980  _tp = tmpMeta[4];
6981  _expl1 = tmpMeta[5];
6982  _e = tmpMeta[6];
6983  _source = tmpMeta[7];
6984  _xs = tmpMeta[3];
6985  _extraArg = tmp4_2;
6986  tmp4 += 15; /* Pattern matching succeeded; we may skip some cases if we fail */
6987 #line 4715 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6988  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _x, _extraArg ,&_extraArg);
6989 #line 6989 OMC_FILE
6990 
6991 #line 4716 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6992  _expl2 = omc_DAEUtil_traverseDAEExpListStmt(threadData, _expl1, ((modelica_fnptr) _func), _x, _extraArg ,&_extraArg);
6993 #line 6993 OMC_FILE
6994 
6995 #line 4717 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6996  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6997 #line 6997 OMC_FILE
6998 
6999 #line 4718 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7000  tmp7 = (modelica_boolean)((referenceEq(_e, _e_1) && referenceEq(_expl2, _expl1)) && referenceEq(_xs, _xs_1));
7001 #line 4718 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7002  if(tmp7)
7003 #line 4718 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7004  {
7005 #line 4718 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7006  tmpMeta[4] = _inStmts;
7007 #line 4718 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7008  }
7009 #line 4718 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7010  else
7011 #line 4718 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7012  {
7013 #line 4718 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7014  tmpMeta[3] = mmc_mk_box5(4, &DAE_Statement_STMT__TUPLE__ASSIGN__desc, _tp, _expl2, _e_1, _source);
7015 #line 4718 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7016  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _xs_1);
7017 #line 4718 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7018  tmpMeta[4] = tmpMeta[2];
7019 #line 4718 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7020  }
7021 #line 4718 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7022  _outStmts = tmpMeta[4];
7023 #line 7023 OMC_FILE
7024 #line 4719 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7025  tmpMeta[0+0] = _outStmts;
7026 #line 4719 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7027  tmpMeta[0+1] = _extraArg;
7028 #line 7028 OMC_FILE
7029  goto tmp3_done;
7030  }
7031  case 3: {
7032  modelica_boolean tmp12;
7033  if (listEmpty(tmp4_1)) goto tmp3_end;
7034  tmpMeta[2] = MMC_CAR(tmp4_1);
7035  tmpMeta[3] = MMC_CDR(tmp4_1);
7036  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],2,4) == 0) goto tmp3_end;
7037  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
7038  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
7039  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
7040  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
7041 
7042  _x = tmpMeta[2];
7043  _tp = tmpMeta[4];
7044  _e = tmpMeta[5];
7045  _e2 = tmpMeta[6];
7046  _source = tmpMeta[7];
7047  _xs = tmpMeta[3];
7048  _extraArg = tmp4_2;
7049  tmp4 += 14; /* Pattern matching succeeded; we may skip some cases if we fail */
7050 #line 4723 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7051  _e_2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _x, _extraArg ,&_extraArg);
7052 #line 7052 OMC_FILE
7053 
7054 #line 7054 OMC_FILE
7055  { /* matchcontinue expression */
7056  {
7057  volatile mmc_switch_type tmp10;
7058  int tmp11;
7059  tmp10 = 0;
7060  MMC_TRY_INTERNAL(mmc_jumper)
7061  tmp9_top:
7062  threadData->mmc_jumper = &new_mmc_jumper;
7063  for (; tmp10 < 2; tmp10++) {
7064  switch (MMC_SWITCH_CAST(tmp10)) {
7065  case 0: {
7066  /* Pattern matching succeeded */
7067 #line 4725 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7068  /* Pattern-matching tuple assignment */
7069 #line 4725 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7070  tmpMeta[3] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _x, _extraArg, &tmpMeta[2]) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _x, _extraArg, &tmpMeta[2]);
7071 #line 4725 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7072  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],6,2) == 0) goto goto_8;
7073 #line 4725 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7074  _e_1 = tmpMeta[3];
7075 #line 4725 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7076  _extraArg = tmpMeta[2];
7077 #line 7077 OMC_FILE
7078 #line 7078 OMC_FILE
7079  goto tmp9_done;
7080  }
7081  case 1: {
7082  /* Pattern matching succeeded */
7083 #line 4728 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7084  _e_1 = _e;
7085 #line 7085 OMC_FILE
7086 #line 7086 OMC_FILE
7087  goto tmp9_done;
7088  }
7089  }
7090  goto tmp9_end;
7091  tmp9_end: ;
7092  }
7093  goto goto_8;
7094  tmp9_done:
7095  (void)tmp10;
7096  MMC_RESTORE_INTERNAL(mmc_jumper);
7097  goto tmp9_done2;
7098  goto_8:;
7099  MMC_CATCH_INTERNAL(mmc_jumper);
7100  if (++tmp10 < 2) {
7101  goto tmp9_top;
7102  }
7103  goto goto_2;
7104  tmp9_done2:;
7105  }
7106  }
7107  ;
7108 
7109 #line 4730 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7110  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7111 #line 7111 OMC_FILE
7112 
7113 #line 4731 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7114  tmp12 = (modelica_boolean)((referenceEq(_e, _e_1) && referenceEq(_e2, _e_2)) && referenceEq(_xs, _xs_1));
7115 #line 4731 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7116  if(tmp12)
7117 #line 4731 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7118  {
7119 #line 4731 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7120  tmpMeta[4] = _inStmts;
7121 #line 4731 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7122  }
7123 #line 4731 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7124  else
7125 #line 4731 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7126  {
7127 #line 4731 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7128  tmpMeta[3] = mmc_mk_box5(5, &DAE_Statement_STMT__ASSIGN__ARR__desc, _tp, _e_1, _e_2, _source);
7129 #line 4731 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7130  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _xs_1);
7131 #line 4731 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7132  tmpMeta[4] = tmpMeta[2];
7133 #line 4731 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7134  }
7135 #line 4731 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7136  _outStmts = tmpMeta[4];
7137 #line 7137 OMC_FILE
7138 #line 4732 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7139  tmpMeta[0+0] = _outStmts;
7140 #line 4732 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7141  tmpMeta[0+1] = _extraArg;
7142 #line 7142 OMC_FILE
7143  goto tmp3_done;
7144  }
7145  case 4: {
7146  if (listEmpty(tmp4_1)) goto tmp3_end;
7147  tmpMeta[2] = MMC_CAR(tmp4_1);
7148  tmpMeta[3] = MMC_CDR(tmp4_1);
7149  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],3,4) == 0) goto tmp3_end;
7150  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
7151  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
7152  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
7153  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
7154 
7155  _x = tmpMeta[2];
7156  _e = tmpMeta[4];
7157  _stmts = tmpMeta[5];
7158  _algElse = tmpMeta[6];
7159  _source = tmpMeta[7];
7160  _xs = tmpMeta[3];
7161  _extraArg = tmp4_2;
7162  tmp4 += 13; /* Pattern matching succeeded; we may skip some cases if we fail */
7163 #line 4736 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7164  _algElse = omc_DAEUtil_traverseDAEStmtsElse(threadData, _algElse, ((modelica_fnptr) _func), _x, _extraArg ,&_extraArg);
7165 #line 7165 OMC_FILE
7166 
7167 #line 4737 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7168  _stmts2 = omc_DAEUtil_traverseDAEStmts(threadData, _stmts, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7169 #line 7169 OMC_FILE
7170 
7171 #line 4738 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7172  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _x, _extraArg ,&_extraArg);
7173 #line 7173 OMC_FILE
7174 
7175 #line 4739 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7176  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7177 #line 7177 OMC_FILE
7178 
7179 #line 4740 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7180  _stmts1 = omc_Algorithm_optimizeIf(threadData, _e_1, _stmts2, _algElse, _source, NULL);
7181 #line 7181 OMC_FILE
7182 #line 4741 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7183  tmpMeta[0+0] = listAppend(_stmts1, _xs_1);
7184 #line 4741 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7185  tmpMeta[0+1] = _extraArg;
7186 #line 7186 OMC_FILE
7187  goto tmp3_done;
7188  }
7189  case 5: {
7190  modelica_integer tmp13;
7191  modelica_integer tmp14;
7192  modelica_boolean tmp15;
7193  if (listEmpty(tmp4_1)) goto tmp3_end;
7194  tmpMeta[2] = MMC_CAR(tmp4_1);
7195  tmpMeta[3] = MMC_CDR(tmp4_1);
7196  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],4,7) == 0) goto tmp3_end;
7197  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
7198  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
7199  tmp13 = mmc_unbox_integer(tmpMeta[5]);
7200  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
7201  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
7202  tmp14 = mmc_unbox_integer(tmpMeta[7]);
7203  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 6));
7204  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 7));
7205  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 8));
7206 
7207  _x = tmpMeta[2];
7208  _tp = tmpMeta[4];
7209  _b1 = tmp13 /* pattern as ty=Boolean */;
7210  _id1 = tmpMeta[6];
7211  _ix = tmp14 /* pattern as ty=Integer */;
7212  _e = tmpMeta[8];
7213  _stmts = tmpMeta[9];
7214  _source = tmpMeta[10];
7215  _xs = tmpMeta[3];
7216  _extraArg = tmp4_2;
7217  tmp4 += 12; /* Pattern matching succeeded; we may skip some cases if we fail */
7218 #line 4745 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7219  _stmts2 = omc_DAEUtil_traverseDAEStmts(threadData, _stmts, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7220 #line 7220 OMC_FILE
7221 
7222 #line 4746 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7223  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _x, _extraArg ,&_extraArg);
7224 #line 7224 OMC_FILE
7225 
7226 #line 4747 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7227  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7228 #line 7228 OMC_FILE
7229 
7230 #line 4748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7231  tmp15 = (modelica_boolean)((referenceEq(_e, _e_1) && referenceEq(_stmts, _stmts2)) && referenceEq(_xs, _xs_1));
7232 #line 4748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7233  if(tmp15)
7234 #line 4748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7235  {
7236 #line 4748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7237  tmpMeta[4] = _inStmts;
7238 #line 4748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7239  }
7240 #line 4748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7241  else
7242 #line 4748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7243  {
7244 #line 4748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7245  tmpMeta[3] = mmc_mk_box8(7, &DAE_Statement_STMT__FOR__desc, _tp, mmc_mk_boolean(_b1), _id1, mmc_mk_integer((modelica_integer)_ix), _e_1, _stmts2, _source);
7246 #line 4748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7247  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _xs_1);
7248 #line 4748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7249  tmpMeta[4] = tmpMeta[2];
7250 #line 4748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7251  }
7252 #line 4748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7253  _outStmts = tmpMeta[4];
7254 #line 7254 OMC_FILE
7255 #line 4749 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7256  tmpMeta[0+0] = _outStmts;
7257 #line 4749 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7258  tmpMeta[0+1] = _extraArg;
7259 #line 7259 OMC_FILE
7260  goto tmp3_done;
7261  }
7262  case 6: {
7263  modelica_integer tmp16;
7264  modelica_integer tmp17;
7265  if (listEmpty(tmp4_1)) goto tmp3_end;
7266  tmpMeta[2] = MMC_CAR(tmp4_1);
7267  tmpMeta[3] = MMC_CDR(tmp4_1);
7268  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],5,8) == 0) goto tmp3_end;
7269  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
7270  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
7271  tmp16 = mmc_unbox_integer(tmpMeta[5]);
7272  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
7273  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
7274  tmp17 = mmc_unbox_integer(tmpMeta[7]);
7275  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 6));
7276  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 7));
7277  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 8));
7278  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 9));
7279 
7280  _x = tmpMeta[2];
7281  _tp = tmpMeta[4];
7282  _b1 = tmp16 /* pattern as ty=Boolean */;
7283  _id1 = tmpMeta[6];
7284  _ix = tmp17 /* pattern as ty=Integer */;
7285  _e = tmpMeta[8];
7286  _stmts = tmpMeta[9];
7287  _loopPrlVars = tmpMeta[10];
7288  _source = tmpMeta[11];
7289  _xs = tmpMeta[3];
7290  _extraArg = tmp4_2;
7291  tmp4 += 11; /* Pattern matching succeeded; we may skip some cases if we fail */
7292 #line 4753 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7293  _stmts2 = omc_DAEUtil_traverseDAEStmts(threadData, _stmts, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7294 #line 7294 OMC_FILE
7295 
7296 #line 4754 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7297  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _x, _extraArg ,&_extraArg);
7298 #line 7298 OMC_FILE
7299 
7300 #line 4755 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7301  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7302 #line 7302 OMC_FILE
7303 #line 4756 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7304  tmpMeta[3] = mmc_mk_box9(8, &DAE_Statement_STMT__PARFOR__desc, _tp, mmc_mk_boolean(_b1), _id1, mmc_mk_integer((modelica_integer)_ix), _e_1, _stmts2, _loopPrlVars, _source);
7305 #line 4756 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7306  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _xs_1);
7307 #line 4756 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7308  tmpMeta[0+0] = tmpMeta[2];
7309 #line 4756 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7310  tmpMeta[0+1] = _extraArg;
7311 #line 7311 OMC_FILE
7312  goto tmp3_done;
7313  }
7314  case 7: {
7315  modelica_boolean tmp18;
7316  if (listEmpty(tmp4_1)) goto tmp3_end;
7317  tmpMeta[2] = MMC_CAR(tmp4_1);
7318  tmpMeta[3] = MMC_CDR(tmp4_1);
7319  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],6,3) == 0) goto tmp3_end;
7320  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
7321  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
7322  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
7323 
7324  _x = tmpMeta[2];
7325  _e = tmpMeta[4];
7326  _stmts = tmpMeta[5];
7327  _source = tmpMeta[6];
7328  _xs = tmpMeta[3];
7329  _extraArg = tmp4_2;
7330  tmp4 += 10; /* Pattern matching succeeded; we may skip some cases if we fail */
7331 #line 4760 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7332  _stmts2 = omc_DAEUtil_traverseDAEStmts(threadData, _stmts, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7333 #line 7333 OMC_FILE
7334 
7335 #line 4761 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7336  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _x, _extraArg ,&_extraArg);
7337 #line 7337 OMC_FILE
7338 
7339 #line 4762 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7340  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7341 #line 7341 OMC_FILE
7342 
7343 #line 4763 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7344  tmp18 = (modelica_boolean)((referenceEq(_e, _e_1) && referenceEq(_stmts, _stmts2)) && referenceEq(_xs, _xs_1));
7345 #line 4763 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7346  if(tmp18)
7347 #line 4763 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7348  {
7349 #line 4763 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7350  tmpMeta[4] = _inStmts;
7351 #line 4763 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7352  }
7353 #line 4763 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7354  else
7355 #line 4763 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7356  {
7357 #line 4763 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7358  tmpMeta[3] = mmc_mk_box4(9, &DAE_Statement_STMT__WHILE__desc, _e_1, _stmts2, _source);
7359 #line 4763 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7360  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _xs_1);
7361 #line 4763 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7362  tmpMeta[4] = tmpMeta[2];
7363 #line 4763 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7364  }
7365 #line 4763 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7366  _outStmts = tmpMeta[4];
7367 #line 7367 OMC_FILE
7368 #line 4764 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7369  tmpMeta[0+0] = _outStmts;
7370 #line 4764 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7371  tmpMeta[0+1] = _extraArg;
7372 #line 7372 OMC_FILE
7373  goto tmp3_done;
7374  }
7375  case 8: {
7376  modelica_integer tmp19;
7377  if (listEmpty(tmp4_1)) goto tmp3_end;
7378  tmpMeta[2] = MMC_CAR(tmp4_1);
7379  tmpMeta[3] = MMC_CDR(tmp4_1);
7380  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],7,6) == 0) goto tmp3_end;
7381  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
7382  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
7383  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
7384  tmp19 = mmc_unbox_integer(tmpMeta[6]);
7385  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
7386  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 6));
7387  if (!optionNone(tmpMeta[8])) goto tmp3_end;
7388  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 7));
7389 
7390  _x = tmpMeta[2];
7391  _e = tmpMeta[4];
7392  _conditions = tmpMeta[5];
7393  _initialCall = tmp19 /* pattern as ty=Boolean */;
7394  _stmts = tmpMeta[7];
7395  _source = tmpMeta[9];
7396  _xs = tmpMeta[3];
7397  _extraArg = tmp4_2;
7398  tmp4 += 9; /* Pattern matching succeeded; we may skip some cases if we fail */
7399 #line 4768 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7400  _stmts2 = omc_DAEUtil_traverseDAEStmts(threadData, _stmts, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7401 #line 7401 OMC_FILE
7402 
7403 #line 4769 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7404  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _x, _extraArg ,&_extraArg);
7405 #line 7405 OMC_FILE
7406 
7407 #line 4770 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7408  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7409 #line 7409 OMC_FILE
7410 #line 4771 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7411  tmpMeta[3] = mmc_mk_box7(10, &DAE_Statement_STMT__WHEN__desc, _e_1, _conditions, mmc_mk_boolean(_initialCall), _stmts2, mmc_mk_none(), _source);
7412 #line 4771 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7413  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _xs_1);
7414 #line 4771 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7415  tmpMeta[0+0] = tmpMeta[2];
7416 #line 4771 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7417  tmpMeta[0+1] = _extraArg;
7418 #line 7418 OMC_FILE
7419  goto tmp3_done;
7420  }
7421  case 9: {
7422  modelica_integer tmp20;
7423  if (listEmpty(tmp4_1)) goto tmp3_end;
7424  tmpMeta[2] = MMC_CAR(tmp4_1);
7425  tmpMeta[3] = MMC_CDR(tmp4_1);
7426  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],7,6) == 0) goto tmp3_end;
7427  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
7428  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
7429  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
7430  tmp20 = mmc_unbox_integer(tmpMeta[6]);
7431  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
7432  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 6));
7433  if (optionNone(tmpMeta[8])) goto tmp3_end;
7434  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[8]), 1));
7435  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 7));
7436 
7437  _x = tmpMeta[2];
7438  _e = tmpMeta[4];
7439  _conditions = tmpMeta[5];
7440  _initialCall = tmp20 /* pattern as ty=Boolean */;
7441  _stmts = tmpMeta[7];
7442  _ew = tmpMeta[9];
7443  _source = tmpMeta[10];
7444  _xs = tmpMeta[3];
7445  _extraArg = tmp4_2;
7446  tmp4 += 8; /* Pattern matching succeeded; we may skip some cases if we fail */
7447 #line 4775 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7448  /* Pattern-matching tuple assignment */
7449 #line 4775 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7450  tmpMeta[3] = mmc_mk_cons(_ew, MMC_REFSTRUCTLIT(mmc_nil));
7451 #line 4775 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7452  tmpMeta[4] = omc_DAEUtil_traverseDAEStmts(threadData, tmpMeta[3], ((modelica_fnptr) _func), _extraArg, &tmpMeta[2]);
7453 #line 4775 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7454  if (listEmpty(tmpMeta[4])) goto goto_2;
7455 #line 4775 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7456  tmpMeta[5] = MMC_CAR(tmpMeta[4]);
7457 #line 4775 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7458  tmpMeta[6] = MMC_CDR(tmpMeta[4]);
7459 #line 4775 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7460  if (!listEmpty(tmpMeta[6])) goto goto_2;
7461 #line 4775 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7462  _extraArg = tmpMeta[2];
7463 #line 7463 OMC_FILE
7464 
7465 #line 4776 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7466  _stmts2 = omc_DAEUtil_traverseDAEStmts(threadData, _stmts, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7467 #line 7467 OMC_FILE
7468 
7469 #line 4777 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7470  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _x, _extraArg ,&_extraArg);
7471 #line 7471 OMC_FILE
7472 
7473 #line 4778 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7474  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7475 #line 7475 OMC_FILE
7476 #line 4779 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7477  tmpMeta[3] = mmc_mk_box7(10, &DAE_Statement_STMT__WHEN__desc, _e_1, _conditions, mmc_mk_boolean(_initialCall), _stmts2, mmc_mk_some(_ew), _source);
7478 #line 4779 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7479  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _xs_1);
7480 #line 4779 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7481  tmpMeta[0+0] = tmpMeta[2];
7482 #line 4779 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7483  tmpMeta[0+1] = _extraArg;
7484 #line 7484 OMC_FILE
7485  goto tmp3_done;
7486  }
7487  case 10: {
7488  modelica_boolean tmp21;
7489  if (listEmpty(tmp4_1)) goto tmp3_end;
7490  tmpMeta[2] = MMC_CAR(tmp4_1);
7491  tmpMeta[3] = MMC_CDR(tmp4_1);
7492  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],8,4) == 0) goto tmp3_end;
7493  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
7494  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
7495  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
7496  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
7497 
7498  _x = tmpMeta[2];
7499  _e = tmpMeta[4];
7500  _e2 = tmpMeta[5];
7501  _e3 = tmpMeta[6];
7502  _source = tmpMeta[7];
7503  _xs = tmpMeta[3];
7504  _extraArg = tmp4_2;
7505  tmp4 += 7; /* Pattern matching succeeded; we may skip some cases if we fail */
7506 #line 4783 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7507  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _x, _extraArg ,&_extraArg);
7508 #line 7508 OMC_FILE
7509 
7510 #line 4784 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7511  _e_2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _x, _extraArg ,&_extraArg);
7512 #line 7512 OMC_FILE
7513 
7514 #line 4785 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7515  _e_3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e3, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e3, _x, _extraArg ,&_extraArg);
7516 #line 7516 OMC_FILE
7517 
7518 #line 4786 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7519  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7520 #line 7520 OMC_FILE
7521 
7522 #line 4787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7523  tmp21 = (modelica_boolean)(((referenceEq(_e, _e_1) && referenceEq(_e2, _e_2)) && referenceEq(_e3, _e_3)) && referenceEq(_xs, _xs_1));
7524 #line 4787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7525  if(tmp21)
7526 #line 4787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7527  {
7528 #line 4787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7529  tmpMeta[4] = _inStmts;
7530 #line 4787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7531  }
7532 #line 4787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7533  else
7534 #line 4787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7535  {
7536 #line 4787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7537  tmpMeta[3] = mmc_mk_box5(11, &DAE_Statement_STMT__ASSERT__desc, _e_1, _e_2, _e_3, _source);
7538 #line 4787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7539  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _xs_1);
7540 #line 4787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7541  tmpMeta[4] = tmpMeta[2];
7542 #line 4787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7543  }
7544 #line 4787 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7545  _outStmts = tmpMeta[4];
7546 #line 7546 OMC_FILE
7547 #line 4788 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7548  tmpMeta[0+0] = _outStmts;
7549 #line 4788 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7550  tmpMeta[0+1] = _extraArg;
7551 #line 7551 OMC_FILE
7552  goto tmp3_done;
7553  }
7554  case 11: {
7555  modelica_boolean tmp22;
7556  if (listEmpty(tmp4_1)) goto tmp3_end;
7557  tmpMeta[2] = MMC_CAR(tmp4_1);
7558  tmpMeta[3] = MMC_CDR(tmp4_1);
7559  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],9,2) == 0) goto tmp3_end;
7560  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
7561  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
7562 
7563  _x = tmpMeta[2];
7564  _e = tmpMeta[4];
7565  _source = tmpMeta[5];
7566  _xs = tmpMeta[3];
7567  _extraArg = tmp4_2;
7568  tmp4 += 6; /* Pattern matching succeeded; we may skip some cases if we fail */
7569 #line 4792 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7570  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _x, _extraArg ,&_extraArg);
7571 #line 7571 OMC_FILE
7572 
7573 #line 4793 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7574  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7575 #line 7575 OMC_FILE
7576 
7577 #line 4794 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7578  tmp22 = (modelica_boolean)(referenceEq(_e, _e_1) && referenceEq(_xs, _xs_1));
7579 #line 4794 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7580  if(tmp22)
7581 #line 4794 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7582  {
7583 #line 4794 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7584  tmpMeta[4] = _inStmts;
7585 #line 4794 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7586  }
7587 #line 4794 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7588  else
7589 #line 4794 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7590  {
7591 #line 4794 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7592  tmpMeta[3] = mmc_mk_box3(12, &DAE_Statement_STMT__TERMINATE__desc, _e_1, _source);
7593 #line 4794 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7594  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _xs_1);
7595 #line 4794 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7596  tmpMeta[4] = tmpMeta[2];
7597 #line 4794 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7598  }
7599 #line 4794 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7600  _outStmts = tmpMeta[4];
7601 #line 7601 OMC_FILE
7602 #line 4795 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7603  tmpMeta[0+0] = _outStmts;
7604 #line 4795 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7605  tmpMeta[0+1] = _extraArg;
7606 #line 7606 OMC_FILE
7607  goto tmp3_done;
7608  }
7609  case 12: {
7610  modelica_boolean tmp23;
7611  if (listEmpty(tmp4_1)) goto tmp3_end;
7612  tmpMeta[2] = MMC_CAR(tmp4_1);
7613  tmpMeta[3] = MMC_CDR(tmp4_1);
7614  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],10,3) == 0) goto tmp3_end;
7615  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
7616  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
7617  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
7618 
7619  _x = tmpMeta[2];
7620  _e = tmpMeta[4];
7621  _e2 = tmpMeta[5];
7622  _source = tmpMeta[6];
7623  _xs = tmpMeta[3];
7624  _extraArg = tmp4_2;
7625  tmp4 += 5; /* Pattern matching succeeded; we may skip some cases if we fail */
7626 #line 4799 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7627  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _x, _extraArg ,&_extraArg);
7628 #line 7628 OMC_FILE
7629 
7630 #line 4800 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7631  _e_2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _x, _extraArg ,&_extraArg);
7632 #line 7632 OMC_FILE
7633 
7634 #line 4801 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7635  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7636 #line 7636 OMC_FILE
7637 
7638 #line 4802 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7639  tmp23 = (modelica_boolean)((referenceEq(_e, _e_1) && referenceEq(_e2, _e_2)) && referenceEq(_xs, _xs_1));
7640 #line 4802 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7641  if(tmp23)
7642 #line 4802 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7643  {
7644 #line 4802 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7645  tmpMeta[4] = _inStmts;
7646 #line 4802 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7647  }
7648 #line 4802 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7649  else
7650 #line 4802 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7651  {
7652 #line 4802 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7653  tmpMeta[3] = mmc_mk_box4(13, &DAE_Statement_STMT__REINIT__desc, _e_1, _e_2, _source);
7654 #line 4802 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7655  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _xs_1);
7656 #line 4802 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7657  tmpMeta[4] = tmpMeta[2];
7658 #line 4802 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7659  }
7660 #line 4802 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7661  _outStmts = tmpMeta[4];
7662 #line 7662 OMC_FILE
7663 #line 4803 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7664  tmpMeta[0+0] = _outStmts;
7665 #line 4803 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7666  tmpMeta[0+1] = _extraArg;
7667 #line 7667 OMC_FILE
7668  goto tmp3_done;
7669  }
7670  case 13: {
7671  modelica_boolean tmp24;
7672  if (listEmpty(tmp4_1)) goto tmp3_end;
7673  tmpMeta[2] = MMC_CAR(tmp4_1);
7674  tmpMeta[3] = MMC_CDR(tmp4_1);
7675  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],11,2) == 0) goto tmp3_end;
7676  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
7677  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
7678 
7679  _x = tmpMeta[2];
7680  _e = tmpMeta[4];
7681  _source = tmpMeta[5];
7682  _xs = tmpMeta[3];
7683  _extraArg = tmp4_2;
7684  tmp4 += 4; /* Pattern matching succeeded; we may skip some cases if we fail */
7685 #line 4807 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7686  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _x, _extraArg ,&_extraArg);
7687 #line 7687 OMC_FILE
7688 
7689 #line 4808 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7690  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7691 #line 7691 OMC_FILE
7692 
7693 #line 4809 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7694  tmp24 = (modelica_boolean)(referenceEq(_e, _e_1) && referenceEq(_xs, _xs_1));
7695 #line 4809 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7696  if(tmp24)
7697 #line 4809 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7698  {
7699 #line 4809 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7700  tmpMeta[4] = _inStmts;
7701 #line 4809 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7702  }
7703 #line 4809 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7704  else
7705 #line 4809 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7706  {
7707 #line 4809 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7708  tmpMeta[3] = mmc_mk_box3(14, &DAE_Statement_STMT__NORETCALL__desc, _e_1, _source);
7709 #line 4809 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7710  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _xs_1);
7711 #line 4809 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7712  tmpMeta[4] = tmpMeta[2];
7713 #line 4809 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7714  }
7715 #line 4809 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7716  _outStmts = tmpMeta[4];
7717 #line 7717 OMC_FILE
7718 #line 4810 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7719  tmpMeta[0+0] = _outStmts;
7720 #line 4810 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7721  tmpMeta[0+1] = _extraArg;
7722 #line 7722 OMC_FILE
7723  goto tmp3_done;
7724  }
7725  case 14: {
7726  modelica_boolean tmp25;
7727  if (listEmpty(tmp4_1)) goto tmp3_end;
7728  tmpMeta[2] = MMC_CAR(tmp4_1);
7729  tmpMeta[3] = MMC_CDR(tmp4_1);
7730  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],12,1) == 0) goto tmp3_end;
7731 
7732  _x = tmpMeta[2];
7733  _xs = tmpMeta[3];
7734  _extraArg = tmp4_2;
7735  tmp4 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
7736 #line 4814 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7737  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7738 #line 7738 OMC_FILE
7739 
7740 #line 4815 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7741  (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _OMC_LIT67, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _OMC_LIT67, _x, _extraArg ,&_extraArg);
7742 #line 7742 OMC_FILE
7743 #line 4816 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7744  tmp25 = (modelica_boolean)referenceEq(_xs, _xs_1);
7745 #line 4816 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7746  if(tmp25)
7747 #line 4816 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7748  {
7749 #line 4816 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7750  tmpMeta[3] = _inStmts;
7751 #line 4816 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7752  }
7753 #line 4816 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7754  else
7755 #line 4816 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7756  {
7757 #line 4816 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7758  tmpMeta[2] = mmc_mk_cons(_x, _xs_1);
7759 #line 4816 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7760  tmpMeta[3] = tmpMeta[2];
7761 #line 4816 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7762  }
7763 #line 4816 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7764  tmpMeta[0+0] = tmpMeta[3];
7765 #line 4816 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7766  tmpMeta[0+1] = _extraArg;
7767 #line 7767 OMC_FILE
7768  goto tmp3_done;
7769  }
7770  case 15: {
7771  modelica_boolean tmp26;
7772  if (listEmpty(tmp4_1)) goto tmp3_end;
7773  tmpMeta[2] = MMC_CAR(tmp4_1);
7774  tmpMeta[3] = MMC_CDR(tmp4_1);
7775  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],13,1) == 0) goto tmp3_end;
7776 
7777  _x = tmpMeta[2];
7778  _xs = tmpMeta[3];
7779  _extraArg = tmp4_2;
7780  tmp4 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
7781 #line 4820 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7782  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7783 #line 7783 OMC_FILE
7784 
7785 #line 4821 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7786  (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _OMC_LIT67, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _OMC_LIT67, _x, _extraArg ,&_extraArg);
7787 #line 7787 OMC_FILE
7788 #line 4822 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7789  tmp26 = (modelica_boolean)referenceEq(_xs, _xs_1);
7790 #line 4822 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7791  if(tmp26)
7792 #line 4822 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7793  {
7794 #line 4822 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7795  tmpMeta[3] = _inStmts;
7796 #line 4822 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7797  }
7798 #line 4822 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7799  else
7800 #line 4822 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7801  {
7802 #line 4822 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7803  tmpMeta[2] = mmc_mk_cons(_x, _xs_1);
7804 #line 4822 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7805  tmpMeta[3] = tmpMeta[2];
7806 #line 4822 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7807  }
7808 #line 4822 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7809  tmpMeta[0+0] = tmpMeta[3];
7810 #line 4822 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7811  tmpMeta[0+1] = _extraArg;
7812 #line 7812 OMC_FILE
7813  goto tmp3_done;
7814  }
7815  case 16: {
7816  modelica_boolean tmp27;
7817  if (listEmpty(tmp4_1)) goto tmp3_end;
7818  tmpMeta[2] = MMC_CAR(tmp4_1);
7819  tmpMeta[3] = MMC_CDR(tmp4_1);
7820  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],14,1) == 0) goto tmp3_end;
7821 
7822  _x = tmpMeta[2];
7823  _xs = tmpMeta[3];
7824  _extraArg = tmp4_2;
7825  tmp4 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
7826 #line 4826 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7827  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7828 #line 7828 OMC_FILE
7829 
7830 #line 4827 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7831  (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _OMC_LIT67, _x, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _OMC_LIT67, _x, _extraArg ,&_extraArg);
7832 #line 7832 OMC_FILE
7833 #line 4828 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7834  tmp27 = (modelica_boolean)referenceEq(_xs, _xs_1);
7835 #line 4828 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7836  if(tmp27)
7837 #line 4828 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7838  {
7839 #line 4828 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7840  tmpMeta[3] = _inStmts;
7841 #line 4828 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7842  }
7843 #line 4828 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7844  else
7845 #line 4828 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7846  {
7847 #line 4828 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7848  tmpMeta[2] = mmc_mk_cons(_x, _xs_1);
7849 #line 4828 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7850  tmpMeta[3] = tmpMeta[2];
7851 #line 4828 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7852  }
7853 #line 4828 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7854  tmpMeta[0+0] = tmpMeta[3];
7855 #line 4828 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7856  tmpMeta[0+1] = _extraArg;
7857 #line 7857 OMC_FILE
7858  goto tmp3_done;
7859  }
7860  case 17: {
7861  modelica_boolean tmp28;
7862  if (listEmpty(tmp4_1)) goto tmp3_end;
7863  tmpMeta[2] = MMC_CAR(tmp4_1);
7864  tmpMeta[3] = MMC_CDR(tmp4_1);
7865  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],16,2) == 0) goto tmp3_end;
7866  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
7867  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
7868 
7869  _stmts = tmpMeta[4];
7870  _source = tmpMeta[5];
7871  _xs = tmpMeta[3];
7872  _extraArg = tmp4_2;
7873  /* Pattern matching succeeded */
7874 #line 4833 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7875  _stmts2 = omc_DAEUtil_traverseDAEStmts(threadData, _stmts, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7876 #line 7876 OMC_FILE
7877 
7878 #line 4834 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7879  _xs_1 = omc_DAEUtil_traverseDAEStmts(threadData, _xs, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
7880 #line 7880 OMC_FILE
7881 
7882 #line 4835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7883  tmp28 = (modelica_boolean)(referenceEq(_stmts, _stmts2) && referenceEq(_xs, _xs_1));
7884 #line 4835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7885  if(tmp28)
7886 #line 4835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7887  {
7888 #line 4835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7889  tmpMeta[4] = _inStmts;
7890 #line 4835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7891  }
7892 #line 4835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7893  else
7894 #line 4835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7895  {
7896 #line 4835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7897  tmpMeta[3] = mmc_mk_box3(19, &DAE_Statement_STMT__FAILURE__desc, _stmts2, _source);
7898 #line 4835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7899  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _xs_1);
7900 #line 4835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7901  tmpMeta[4] = tmpMeta[2];
7902 #line 4835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7903  }
7904 #line 4835 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7905  _outStmts = tmpMeta[4];
7906 #line 7906 OMC_FILE
7907 #line 4836 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7908  tmpMeta[0+0] = _outStmts;
7909 #line 4836 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7910  tmpMeta[0+1] = _extraArg;
7911 #line 7911 OMC_FILE
7912  goto tmp3_done;
7913  }
7914  case 18: {
7915  if (listEmpty(tmp4_1)) goto tmp3_end;
7916  tmpMeta[2] = MMC_CAR(tmp4_1);
7917  tmpMeta[3] = MMC_CDR(tmp4_1);
7918 
7919  _x = tmpMeta[2];
7920  /* Pattern matching succeeded */
7921 #line 4840 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7922  _str = omc_DAEDump_ppStatementStr(threadData, _x);
7923 #line 7923 OMC_FILE
7924 
7925 #line 4841 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7926  tmpMeta[2] = stringAppend(_OMC_LIT68,_str);
7927 #line 4841 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7928  _str = tmpMeta[2];
7929 #line 7929 OMC_FILE
7930 
7931 #line 4842 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7932  tmpMeta[2] = mmc_mk_cons(_str, MMC_REFSTRUCTLIT(mmc_nil));
7933 #line 4842 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7934  omc_Error_addMessage(threadData, _OMC_LIT72, tmpMeta[2]);
7935 #line 7935 OMC_FILE
7936 #line 4843 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
7937  goto goto_2;
7938 #line 7938 OMC_FILE
7939  goto tmp3_done;
7940  }
7941  }
7942  goto tmp3_end;
7943  tmp3_end: ;
7944  }
7945  goto goto_2;
7946  tmp3_done:
7947  (void)tmp4;
7948  MMC_RESTORE_INTERNAL(mmc_jumper);
7949  goto tmp3_done2;
7950  goto_2:;
7951  MMC_CATCH_INTERNAL(mmc_jumper);
7952  if (++tmp4 < 19) {
7953  goto tmp3_top;
7954  }
7955  MMC_THROW_INTERNAL();
7956  tmp3_done2:;
7957  }
7958  }
7959  _outStmts = tmpMeta[0+0];
7960  _oextraArg = tmpMeta[0+1];
7961  _return: OMC_LABEL_UNUSED
7962  if (out_oextraArg) { *out_oextraArg = _oextraArg; }
7963  return _outStmts;
7964 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
modelica_metatype modelica_string
m_integer modelica_integer
struct record_description DAE_Statement_STMT__WHILE__desc
Definition: DAE_records.c:2877
signed char modelica_boolean
struct record_description DAE_Statement_STMT__NORETCALL__desc
Definition: DAE_records.c:2942
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEExpListStmt(threadData_t *threadData, modelica_metatype _iexps, modelica_fnptr _func, modelica_metatype _istmt, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:6652
float mmc_switch_type
DLLExport modelica_metatype omc_Algorithm_optimizeIf(threadData_t *threadData, modelica_metatype _icond, modelica_metatype _istmts, modelica_metatype _iels, modelica_metatype _isource, modelica_boolean *out_changed)
Definition: Algorithm.c:1634
modelica_metatype listAppend(modelica_metatype, modelica_metatype)
void * modelica_fnptr
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport void omc_Error_addMessage(threadData_t *threadData, modelica_metatype _inErrorMsg, modelica_metatype _inMessageTokens)
Definition: Error.c:1082
struct record_description DAE_Statement_STMT__TUPLE__ASSIGN__desc
Definition: DAE_records.c:2812
struct record_description DAE_Statement_STMT__PARFOR__desc
Definition: DAE_records.c:2864
DLLExport modelica_metatype omc_DAEUtil_traverseDAEStmts(threadData_t *threadData, modelica_metatype _inStmts, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:6840
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEStmtsElse(threadData_t *threadData, modelica_metatype _inElse, modelica_fnptr _func, modelica_metatype _istmt, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:6734
struct record_description DAE_Statement_STMT__REINIT__desc
Definition: DAE_records.c:2929
struct record_description DAE_Statement_STMT__TERMINATE__desc
Definition: DAE_records.c:2916
struct record_description DAE_Statement_STMT__ASSIGN__ARR__desc
Definition: DAE_records.c:2825
struct record_description DAE_Statement_STMT__WHEN__desc
Definition: DAE_records.c:2890
DLLExport modelica_string omc_DAEDump_ppStatementStr(threadData_t *threadData, modelica_metatype _alg)
Definition: DAEDump.c:10431
struct record_description DAE_Statement_STMT__FAILURE__desc
Definition: DAE_records.c:3007
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
struct record_description DAE_Statement_STMT__FOR__desc
Definition: DAE_records.c:2851
struct record_description DAE_Statement_STMT__ASSIGN__desc
Definition: DAE_records.c:2799
struct record_description DAE_Statement_STMT__ASSERT__desc
Definition: DAE_records.c:2903
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_traverseDAEStmtsElse()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEStmtsElse ( threadData_t threadData,
modelica_metatype  _inElse,
modelica_fnptr  _func,
modelica_metatype  _istmt,
modelica_metatype  _iextraArg,
modelica_metatype out_oextraArg 
)

Definition at line 6734 of file DAEUtil.c.

6735 {
6736  modelica_metatype _outElse = NULL;
6737  modelica_metatype _oextraArg = NULL;
6738  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
6739  MMC_SO();
6740  _tailrecursive: OMC_LABEL_UNUSED
6741 #line 4863 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6742 
6743 #line 4863 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6744 
6745 #line 6745 OMC_FILE
6746  { /* match expression */
6747  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
6748  tmp4_1 = _inElse;
6749  tmp4_2 = _iextraArg;
6750  {
6751  modelica_metatype _e = NULL;
6752  modelica_metatype _e_1 = NULL;
6753  modelica_metatype _st = NULL;
6754  modelica_metatype _st_1 = NULL;
6755  modelica_metatype _el = NULL;
6756  modelica_metatype _el_1 = NULL;
6757  modelica_metatype _extraArg = NULL;
6758  int tmp4;
6759  {
6760  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
6761  case 3: {
6762  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0) == 0) goto tmp3_end;
6763 
6764  _extraArg = tmp4_2;
6765  /* Pattern matching succeeded */
6766 #line 4869 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6767  tmpMeta[0+0] = _OMC_LIT66;
6768 #line 4869 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6769  tmpMeta[0+1] = _extraArg;
6770 #line 6770 OMC_FILE
6771  goto tmp3_done;
6772  }
6773  case 4: {
6774  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,3) == 0) goto tmp3_end;
6775  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
6776  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
6777  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4));
6778 
6779  _e = tmpMeta[2];
6780  _st = tmpMeta[3];
6781  _el = tmpMeta[4];
6782  _extraArg = tmp4_2;
6783  /* Pattern matching succeeded */
6784 #line 4872 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6785  _el_1 = omc_DAEUtil_traverseDAEStmtsElse(threadData, _el, ((modelica_fnptr) _func), _istmt, _extraArg ,&_extraArg);
6786 #line 6786 OMC_FILE
6787 
6788 #line 4873 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6789  _st_1 = omc_DAEUtil_traverseDAEStmts(threadData, _st, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6790 #line 6790 OMC_FILE
6791 
6792 #line 4874 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6793  _e_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _istmt, _extraArg ,&_extraArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _istmt, _extraArg ,&_extraArg);
6794 #line 6794 OMC_FILE
6795 #line 4875 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6796  tmpMeta[0+0] = omc_Algorithm_optimizeElseIf(threadData, _e_1, _st_1, _el_1);
6797 #line 4875 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6798  tmpMeta[0+1] = _extraArg;
6799 #line 6799 OMC_FILE
6800  goto tmp3_done;
6801  }
6802  case 5: {
6803  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,1) == 0) goto tmp3_end;
6804  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
6805 
6806  _st = tmpMeta[2];
6807  _extraArg = tmp4_2;
6808  /* Pattern matching succeeded */
6809 #line 4878 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6810  _st_1 = omc_DAEUtil_traverseDAEStmts(threadData, _st, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6811 #line 6811 OMC_FILE
6812 #line 4879 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6813  tmpMeta[2] = mmc_mk_box2(5, &DAE_Else_ELSE__desc, _st_1);
6814 #line 4879 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6815  tmpMeta[0+0] = tmpMeta[2];
6816 #line 4879 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6817  tmpMeta[0+1] = _extraArg;
6818 #line 6818 OMC_FILE
6819  goto tmp3_done;
6820  }
6821  }
6822  goto tmp3_end;
6823  tmp3_end: ;
6824  }
6825  goto goto_2;
6826  goto_2:;
6827  MMC_THROW_INTERNAL();
6828  goto tmp3_done;
6829  tmp3_done:;
6830  }
6831  }
6832  _outElse = tmpMeta[0+0];
6833  _oextraArg = tmpMeta[0+1];
6834  _return: OMC_LABEL_UNUSED
6835  if (out_oextraArg) { *out_oextraArg = _oextraArg; }
6836  return _outElse;
6837 }
void * modelica_fnptr
DLLExport modelica_metatype omc_DAEUtil_traverseDAEStmts(threadData_t *threadData, modelica_metatype _inStmts, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:6840
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEStmtsElse(threadData_t *threadData, modelica_metatype _inElse, modelica_fnptr _func, modelica_metatype _istmt, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:6734
DLLExport modelica_metatype omc_Algorithm_optimizeElseIf(threadData_t *threadData, modelica_metatype _cond, modelica_metatype _stmts, modelica_metatype _els)
Definition: Algorithm.c:1565
struct record_description DAE_Else_ELSE__desc
Definition: DAE_records.c:3267
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_traverseDAEVarAttr()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEVarAttr ( threadData_t threadData,
modelica_metatype  _attr,
modelica_fnptr  _func,
modelica_metatype  _iextraArg,
modelica_metatype out_oextraArg 
)

Definition at line 6313 of file DAEUtil.c.

6314 {
6315  modelica_metatype _traversedDaeList = NULL;
6316  modelica_metatype _oextraArg = NULL;
6317  modelica_metatype tmpMeta[18] __attribute__((unused)) = {0};
6318  MMC_SO();
6319  _tailrecursive: OMC_LABEL_UNUSED
6320 #line 4935 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6321 
6322 #line 4935 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6323 
6324 #line 6324 OMC_FILE
6325  { /* match expression */
6326  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
6327  tmp4_1 = _attr;
6328  tmp4_2 = _iextraArg;
6329  {
6330  modelica_metatype _quantity = NULL;
6331  modelica_metatype _unit = NULL;
6332  modelica_metatype _displayUnit = NULL;
6333  modelica_metatype _min = NULL;
6334  modelica_metatype _max = NULL;
6335  modelica_metatype _start = NULL;
6336  modelica_metatype _fixed = NULL;
6337  modelica_metatype _nominal = NULL;
6338  modelica_metatype _eb = NULL;
6339  modelica_metatype _so = NULL;
6340  modelica_metatype _stateSelect = NULL;
6341  modelica_metatype _uncertainty = NULL;
6342  modelica_metatype _distribution = NULL;
6343  modelica_metatype _ip = NULL;
6344  modelica_metatype _fn = NULL;
6345  modelica_metatype _extraArg = NULL;
6346  volatile mmc_switch_type tmp4;
6347  int tmp5;
6348  tmp4 = 0;
6349  for (; tmp4 < 7; tmp4++) {
6350  switch (MMC_SWITCH_CAST(tmp4)) {
6351  case 0: {
6352  if (optionNone(tmp4_1)) goto tmp3_end;
6353  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
6354  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,15) == 0) goto tmp3_end;
6355  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
6356  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
6357  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
6358  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
6359  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 6));
6360  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 7));
6361  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 8));
6362  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 9));
6363  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 10));
6364  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 11));
6365  tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 12));
6366  tmpMeta[14] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 13));
6367  tmpMeta[15] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 14));
6368  tmpMeta[16] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 15));
6369  tmpMeta[17] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 16));
6370 
6371  _quantity = tmpMeta[3];
6372  _unit = tmpMeta[4];
6373  _displayUnit = tmpMeta[5];
6374  _min = tmpMeta[6];
6375  _max = tmpMeta[7];
6376  _start = tmpMeta[8];
6377  _fixed = tmpMeta[9];
6378  _nominal = tmpMeta[10];
6379  _stateSelect = tmpMeta[11];
6380  _uncertainty = tmpMeta[12];
6381  _distribution = tmpMeta[13];
6382  _eb = tmpMeta[14];
6383  _ip = tmpMeta[15];
6384  _fn = tmpMeta[16];
6385  _so = tmpMeta[17];
6386  _extraArg = tmp4_2;
6387  /* Pattern matching succeeded */
6388 #line 4946 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6389  _quantity = omc_DAEUtil_traverseDAEOptExp(threadData, _quantity, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6390 #line 6390 OMC_FILE
6391 
6392 #line 4947 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6393  _unit = omc_DAEUtil_traverseDAEOptExp(threadData, _unit, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6394 #line 6394 OMC_FILE
6395 
6396 #line 4948 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6397  _displayUnit = omc_DAEUtil_traverseDAEOptExp(threadData, _displayUnit, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6398 #line 6398 OMC_FILE
6399 
6400 #line 4949 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6401  _min = omc_DAEUtil_traverseDAEOptExp(threadData, _min, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6402 #line 6402 OMC_FILE
6403 
6404 #line 4950 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6405  _max = omc_DAEUtil_traverseDAEOptExp(threadData, _max, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6406 #line 6406 OMC_FILE
6407 
6408 #line 4951 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6409  _start = omc_DAEUtil_traverseDAEOptExp(threadData, _start, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6410 #line 6410 OMC_FILE
6411 
6412 #line 4952 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6413  _fixed = omc_DAEUtil_traverseDAEOptExp(threadData, _fixed, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6414 #line 6414 OMC_FILE
6415 
6416 #line 4953 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6417  _nominal = omc_DAEUtil_traverseDAEOptExp(threadData, _nominal, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6418 #line 6418 OMC_FILE
6419 #line 4954 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6420  tmpMeta[2] = mmc_mk_box16(3, &DAE_VariableAttributes_VAR__ATTR__REAL__desc, _quantity, _unit, _displayUnit, _min, _max, _start, _fixed, _nominal, _stateSelect, _uncertainty, _distribution, _eb, _ip, _fn, _so);
6421 #line 4954 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6422  tmpMeta[0+0] = mmc_mk_some(tmpMeta[2]);
6423 #line 4954 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6424  tmpMeta[0+1] = _extraArg;
6425 #line 6425 OMC_FILE
6426  goto tmp3_done;
6427  }
6428  case 1: {
6429  if (optionNone(tmp4_1)) goto tmp3_end;
6430  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
6431  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],1,11) == 0) goto tmp3_end;
6432  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
6433  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
6434  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
6435  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
6436  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 6));
6437  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 7));
6438  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 8));
6439  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 9));
6440  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 10));
6441  tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 11));
6442  tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 12));
6443 
6444  _quantity = tmpMeta[3];
6445  _min = tmpMeta[4];
6446  _max = tmpMeta[5];
6447  _start = tmpMeta[6];
6448  _fixed = tmpMeta[7];
6449  _uncertainty = tmpMeta[8];
6450  _distribution = tmpMeta[9];
6451  _eb = tmpMeta[10];
6452  _ip = tmpMeta[11];
6453  _fn = tmpMeta[12];
6454  _so = tmpMeta[13];
6455  _extraArg = tmp4_2;
6456  /* Pattern matching succeeded */
6457 #line 4958 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6458  _quantity = omc_DAEUtil_traverseDAEOptExp(threadData, _quantity, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6459 #line 6459 OMC_FILE
6460 
6461 #line 4959 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6462  _min = omc_DAEUtil_traverseDAEOptExp(threadData, _min, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6463 #line 6463 OMC_FILE
6464 
6465 #line 4960 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6466  _max = omc_DAEUtil_traverseDAEOptExp(threadData, _max, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6467 #line 6467 OMC_FILE
6468 
6469 #line 4961 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6470  _start = omc_DAEUtil_traverseDAEOptExp(threadData, _start, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6471 #line 6471 OMC_FILE
6472 
6473 #line 4962 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6474  _fixed = omc_DAEUtil_traverseDAEOptExp(threadData, _fixed, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6475 #line 6475 OMC_FILE
6476 #line 4963 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6477  tmpMeta[2] = mmc_mk_box12(4, &DAE_VariableAttributes_VAR__ATTR__INT__desc, _quantity, _min, _max, _start, _fixed, _uncertainty, _distribution, _eb, _ip, _fn, _so);
6478 #line 4963 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6479  tmpMeta[0+0] = mmc_mk_some(tmpMeta[2]);
6480 #line 4963 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6481  tmpMeta[0+1] = _extraArg;
6482 #line 6482 OMC_FILE
6483  goto tmp3_done;
6484  }
6485  case 2: {
6486  if (optionNone(tmp4_1)) goto tmp3_end;
6487  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
6488  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],2,7) == 0) goto tmp3_end;
6489  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
6490  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
6491  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
6492  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
6493  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 6));
6494  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 7));
6495  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 8));
6496 
6497  _quantity = tmpMeta[3];
6498  _start = tmpMeta[4];
6499  _fixed = tmpMeta[5];
6500  _eb = tmpMeta[6];
6501  _ip = tmpMeta[7];
6502  _fn = tmpMeta[8];
6503  _so = tmpMeta[9];
6504  _extraArg = tmp4_2;
6505  /* Pattern matching succeeded */
6506 #line 4967 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6507  _quantity = omc_DAEUtil_traverseDAEOptExp(threadData, _quantity, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6508 #line 6508 OMC_FILE
6509 
6510 #line 4968 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6511  _start = omc_DAEUtil_traverseDAEOptExp(threadData, _start, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6512 #line 6512 OMC_FILE
6513 
6514 #line 4969 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6515  _fixed = omc_DAEUtil_traverseDAEOptExp(threadData, _fixed, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6516 #line 6516 OMC_FILE
6517 #line 4970 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6518  tmpMeta[2] = mmc_mk_box8(5, &DAE_VariableAttributes_VAR__ATTR__BOOL__desc, _quantity, _start, _fixed, _eb, _ip, _fn, _so);
6519 #line 4970 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6520  tmpMeta[0+0] = mmc_mk_some(tmpMeta[2]);
6521 #line 4970 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6522  tmpMeta[0+1] = _extraArg;
6523 #line 6523 OMC_FILE
6524  goto tmp3_done;
6525  }
6526  case 3: {
6527  if (optionNone(tmp4_1)) goto tmp3_end;
6528  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
6529  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],3,2) == 0) goto tmp3_end;
6530 
6531  _extraArg = tmp4_2;
6532  /* Pattern matching succeeded */
6533 #line 4973 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6534  tmpMeta[0+0] = _attr;
6535 #line 4973 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6536  tmpMeta[0+1] = _extraArg;
6537 #line 6537 OMC_FILE
6538  goto tmp3_done;
6539  }
6540  case 4: {
6541  if (optionNone(tmp4_1)) goto tmp3_end;
6542  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
6543  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],4,7) == 0) goto tmp3_end;
6544  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
6545  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
6546  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
6547  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
6548  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 6));
6549  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 7));
6550  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 8));
6551 
6552  _quantity = tmpMeta[3];
6553  _start = tmpMeta[4];
6554  _fixed = tmpMeta[5];
6555  _eb = tmpMeta[6];
6556  _ip = tmpMeta[7];
6557  _fn = tmpMeta[8];
6558  _so = tmpMeta[9];
6559  _extraArg = tmp4_2;
6560  /* Pattern matching succeeded */
6561 #line 4977 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6562  _quantity = omc_DAEUtil_traverseDAEOptExp(threadData, _quantity, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6563 #line 6563 OMC_FILE
6564 
6565 #line 4978 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6566  _start = omc_DAEUtil_traverseDAEOptExp(threadData, _start, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6567 #line 6567 OMC_FILE
6568 
6569 #line 4979 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6570  _fixed = omc_DAEUtil_traverseDAEOptExp(threadData, _fixed, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6571 #line 6571 OMC_FILE
6572 #line 4980 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6573  tmpMeta[2] = mmc_mk_box8(7, &DAE_VariableAttributes_VAR__ATTR__STRING__desc, _quantity, _start, _fixed, _eb, _ip, _fn, _so);
6574 #line 4980 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6575  tmpMeta[0+0] = mmc_mk_some(tmpMeta[2]);
6576 #line 4980 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6577  tmpMeta[0+1] = _extraArg;
6578 #line 6578 OMC_FILE
6579  goto tmp3_done;
6580  }
6581  case 5: {
6582  if (optionNone(tmp4_1)) goto tmp3_end;
6583  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
6584  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],5,9) == 0) goto tmp3_end;
6585  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
6586  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
6587  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
6588  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5));
6589  tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 6));
6590  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 7));
6591  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 8));
6592  tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 9));
6593  tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 10));
6594 
6595  _quantity = tmpMeta[3];
6596  _min = tmpMeta[4];
6597  _max = tmpMeta[5];
6598  _start = tmpMeta[6];
6599  _fixed = tmpMeta[7];
6600  _eb = tmpMeta[8];
6601  _ip = tmpMeta[9];
6602  _fn = tmpMeta[10];
6603  _so = tmpMeta[11];
6604  _extraArg = tmp4_2;
6605  /* Pattern matching succeeded */
6606 #line 4984 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6607  _quantity = omc_DAEUtil_traverseDAEOptExp(threadData, _quantity, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6608 #line 6608 OMC_FILE
6609 
6610 #line 4985 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6611  _start = omc_DAEUtil_traverseDAEOptExp(threadData, _start, ((modelica_fnptr) _func), _extraArg ,&_extraArg);
6612 #line 6612 OMC_FILE
6613 #line 4986 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6614  tmpMeta[2] = mmc_mk_box10(8, &DAE_VariableAttributes_VAR__ATTR__ENUMERATION__desc, _quantity, _min, _max, _start, _fixed, _eb, _ip, _fn, _so);
6615 #line 4986 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6616  tmpMeta[0+0] = mmc_mk_some(tmpMeta[2]);
6617 #line 4986 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6618  tmpMeta[0+1] = _extraArg;
6619 #line 6619 OMC_FILE
6620  goto tmp3_done;
6621  }
6622  case 6: {
6623  if (!optionNone(tmp4_1)) goto tmp3_end;
6624 
6625  _extraArg = tmp4_2;
6626  /* Pattern matching succeeded */
6627 #line 4988 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6628  tmpMeta[0+0] = mmc_mk_none();
6629 #line 4988 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
6630  tmpMeta[0+1] = _extraArg;
6631 #line 6631 OMC_FILE
6632  goto tmp3_done;
6633  }
6634  }
6635  goto tmp3_end;
6636  tmp3_end: ;
6637  }
6638  goto goto_2;
6639  goto_2:;
6640  MMC_THROW_INTERNAL();
6641  goto tmp3_done;
6642  tmp3_done:;
6643  }
6644  }
6645  _traversedDaeList = tmpMeta[0+0];
6646  _oextraArg = tmpMeta[0+1];
6647  _return: OMC_LABEL_UNUSED
6648  if (out_oextraArg) { *out_oextraArg = _oextraArg; }
6649  return _traversedDaeList;
6650 }
int32 _start()
Definition: expat_lib.c:123
float mmc_switch_type
void * modelica_fnptr
struct record_description DAE_VariableAttributes_VAR__ATTR__ENUMERATION__desc
Definition: DAE_records.c:2136
struct record_description DAE_VariableAttributes_VAR__ATTR__REAL__desc
Definition: DAE_records.c:2071
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseDAEOptExp(threadData_t *threadData, modelica_metatype _oexp, modelica_fnptr _func, modelica_metatype _iextraArg, modelica_metatype *out_oextraArg)
Definition: DAEUtil.c:11802
struct record_description DAE_VariableAttributes_VAR__ATTR__BOOL__desc
Definition: DAE_records.c:2097
void * modelica_metatype
struct record_description DAE_VariableAttributes_VAR__ATTR__STRING__desc
Definition: DAE_records.c:2123
struct record_description DAE_VariableAttributes_VAR__ATTR__INT__desc
Definition: DAE_records.c:2084
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_DAEUtil_traverseStatementsOptionsEvalLhs()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_traverseStatementsOptionsEvalLhs ( threadData_t threadData,
modelica_metatype  _inExp,
modelica_metatype  _inA,
modelica_fnptr  _func,
modelica_metatype  _opt,
modelica_metatype out_outA 
)

Definition at line 9151 of file DAEUtil.c.

9152 {
9153  modelica_metatype _outExp = NULL;
9154  modelica_metatype _outA = NULL;
9155  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
9156  MMC_SO();
9157  _tailrecursive: OMC_LABEL_UNUSED
9158 #line 4449 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9159 
9160 #line 4449 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9161 
9162 #line 9162 OMC_FILE
9163  { /* match expression */
9164  modelica_metatype tmp4_1;
9165  tmp4_1 = _opt;
9166  {
9167  volatile mmc_switch_type tmp4;
9168  int tmp5;
9169  tmp4 = 0;
9170  for (; tmp4 < 2; tmp4++) {
9171  switch (MMC_SWITCH_CAST(tmp4)) {
9172  case 0: {
9173  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0) == 0) goto tmp3_end;
9174  /* Pattern matching succeeded */
9175 #line 4452 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9176  tmpMeta[0+0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _inExp, _inA, &tmpMeta[0+1]) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _inExp, _inA, &tmpMeta[0+1]);
9177 #line 9177 OMC_FILE
9178  goto tmp3_done;
9179  }
9180  case 1: {
9181 
9182  /* Pattern matching succeeded */
9183 #line 4454 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9184  tmpMeta[0+0] = _inExp;
9185 #line 4454 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
9186  tmpMeta[0+1] = _inA;
9187 #line 9187 OMC_FILE
9188  goto tmp3_done;
9189  }
9190  }
9191  goto tmp3_end;
9192  tmp3_end: ;
9193  }
9194  goto goto_2;
9195  goto_2:;
9196  MMC_THROW_INTERNAL();
9197  goto tmp3_done;
9198  tmp3_done:;
9199  }
9200  }
9201  _outExp = tmpMeta[0+0];
9202  _outA = tmpMeta[0+1];
9203  _return: OMC_LABEL_UNUSED
9204  if (out_outA) { *out_outA = _outA; }
9205  return _outExp;
9206 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_typeVarIdent()

DLLExport modelica_string omc_DAEUtil_typeVarIdent ( threadData_t threadData,
modelica_metatype  _var 
)

Definition at line 3835 of file DAEUtil.c.

3836 {
3837  modelica_string _name = NULL;
3838  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3839  MMC_SO();
3840  _tailrecursive: OMC_LABEL_UNUSED
3841 #line 5762 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3842  /* Pattern-matching assignment */
3843 #line 5762 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3844  tmpMeta[0] = _var;
3845 #line 5762 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3846  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
3847 #line 5762 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3848  _name = tmpMeta[1];
3849 #line 3849 OMC_FILE
3850  _return: OMC_LABEL_UNUSED
3851  return _name;
3852 }
modelica_metatype modelica_string
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_typeVarIdentEqual()

DLLExport modelica_boolean omc_DAEUtil_typeVarIdentEqual ( threadData_t threadData,
modelica_metatype  _var,
modelica_string  _name 
)

Definition at line 3802 of file DAEUtil.c.

3803 {
3804  modelica_boolean _b;
3805  modelica_string _name2 = NULL;
3806  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3807  MMC_SO();
3808  _tailrecursive: OMC_LABEL_UNUSED
3809 #line 5772 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3810  /* Pattern-matching assignment */
3811 #line 5772 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3812  tmpMeta[0] = _var;
3813 #line 5772 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3814  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
3815 #line 5772 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3816  _name2 = tmpMeta[1];
3817 #line 3817 OMC_FILE
3818 
3819 #line 5773 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3820  _b = (stringEqual(_name, _name2));
3821 #line 3821 OMC_FILE
3822  _return: OMC_LABEL_UNUSED
3823  return _b;
3824 }
modelica_metatype modelica_string
signed char modelica_boolean
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_unNameInnerouterUniqueCref()

DLLExport modelica_metatype omc_DAEUtil_unNameInnerouterUniqueCref ( threadData_t threadData,
modelica_metatype  _cr,
modelica_string  _removalString 
)

Definition at line 23986 of file DAEUtil.c.

23987 {
23988  modelica_metatype _ocr = NULL;
23989  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
23990  MMC_SO();
23991  _tailrecursive: OMC_LABEL_UNUSED
23992 #line 23992 OMC_FILE
23993  { /* matchcontinue expression */
23994  volatile modelica_metatype tmp3_1;
23995  tmp3_1 = _cr;
23996  {
23997  modelica_string _str = NULL;
23998  modelica_string _str2 = NULL;
23999  modelica_metatype _ty = NULL;
24000  modelica_metatype _child = NULL;
24001  modelica_metatype _child_2 = NULL;
24002  modelica_metatype _subs = NULL;
24003  volatile mmc_switch_type tmp3;
24004  int tmp4;
24005  tmp3 = 0;
24006  MMC_TRY_INTERNAL(mmc_jumper)
24007  tmp2_top:
24008  threadData->mmc_jumper = &new_mmc_jumper;
24009  for (; tmp3 < 4; tmp3++) {
24010  switch (MMC_SWITCH_CAST(tmp3)) {
24011  case 0: {
24012  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,3) == 0) goto tmp2_end;
24013  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24014  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
24015  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
24016  _str = tmpMeta[1];
24017  _ty = tmpMeta[2];
24018  _subs = tmpMeta[3];
24019  tmp3 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
24020 #line 747 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24021  _str2 = omc_System_stringReplace(threadData, _str, _removalString, _OMC_LIT7);
24022 #line 24022 OMC_FILE
24023 #line 748 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24024  tmpMeta[0] = omc_ComponentReference_makeCrefIdent(threadData, _str2, _ty, _subs);
24025 #line 24025 OMC_FILE
24026  goto tmp2_done;
24027  }
24028  case 1: {
24029  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,4) == 0) goto tmp2_end;
24030  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
24031  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
24032  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
24033  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
24034  _str = tmpMeta[1];
24035  _ty = tmpMeta[2];
24036  _subs = tmpMeta[3];
24037  _child = tmpMeta[4];
24038  tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
24039 #line 752 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24040  _child_2 = omc_DAEUtil_unNameInnerouterUniqueCref(threadData, _child, _removalString);
24041 #line 24041 OMC_FILE
24042 
24043 #line 753 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24044  _str2 = omc_System_stringReplace(threadData, _str, _removalString, _OMC_LIT7);
24045 #line 24045 OMC_FILE
24046 #line 754 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24047  tmpMeta[0] = omc_ComponentReference_makeCrefQual(threadData, _str2, _ty, _subs, _child_2);
24048 #line 24048 OMC_FILE
24049  goto tmp2_done;
24050  }
24051  case 2: {
24052  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,4,0) == 0) goto tmp2_end;
24053  /* Pattern matching succeeded */
24054 #line 756 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24055  tmpMeta[0] = _OMC_LIT156;
24056 #line 24056 OMC_FILE
24057  goto tmp2_done;
24058  }
24059  case 3: {
24060 
24061  _child = tmp3_1;
24062  /* Pattern matching succeeded */
24063 #line 759 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24064  fputs(MMC_STRINGDATA(_OMC_LIT157),stdout);
24065 #line 24065 OMC_FILE
24066 
24067 #line 760 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24068  tmpMeta[1] = stringAppend(omc_ComponentReference_printComponentRefStr(threadData, _child),_OMC_LIT28);
24069 #line 760 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24070  fputs(MMC_STRINGDATA(tmpMeta[1]),stdout);
24071 #line 24071 OMC_FILE
24072 #line 761 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
24073  goto goto_1;
24074 #line 24074 OMC_FILE
24075  goto tmp2_done;
24076  }
24077  }
24078  goto tmp2_end;
24079  tmp2_end: ;
24080  }
24081  goto goto_1;
24082  tmp2_done:
24083  (void)tmp3;
24084  MMC_RESTORE_INTERNAL(mmc_jumper);
24085  goto tmp2_done2;
24086  goto_1:;
24087  MMC_CATCH_INTERNAL(mmc_jumper);
24088  if (++tmp3 < 4) {
24089  goto tmp2_top;
24090  }
24091  MMC_THROW_INTERNAL();
24092  tmp2_done2:;
24093  }
24094  }
24095  _ocr = tmpMeta[0];
24096  _return: OMC_LABEL_UNUSED
24097  return _ocr;
24098 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
modelica_metatype modelica_string
float mmc_switch_type
DLLExport modelica_metatype omc_DAEUtil_unNameInnerouterUniqueCref(threadData_t *threadData, modelica_metatype _cr, modelica_string _removalString)
Definition: DAEUtil.c:23986
DLLExport modelica_metatype omc_ComponentReference_makeCrefIdent(threadData_t *threadData, modelica_string _ident, modelica_metatype _identType, modelica_metatype _subscriptLst)
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport modelica_metatype omc_ComponentReference_makeCrefQual(threadData_t *threadData, modelica_string _ident, modelica_metatype _identType, modelica_metatype _subscriptLst, modelica_metatype _componentRef)
DLLExport modelica_string omc_ComponentReference_printComponentRefStr(threadData_t *threadData, modelica_metatype _inComponentRef)
void * modelica_metatype
modelica_string omc_System_stringReplace(threadData_t *threadData, modelica_string _str, modelica_string _source, modelica_string _target)
Definition: System.c:4471
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_varCref()

DLLExport modelica_metatype omc_DAEUtil_varCref ( threadData_t threadData,
modelica_metatype  _elt 
)

Definition at line 23909 of file DAEUtil.c.

23910 {
23911  modelica_metatype _cr = NULL;
23912  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
23913  MMC_SO();
23914  _tailrecursive: OMC_LABEL_UNUSED
23915 #line 780 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23916  /* Pattern-matching assignment */
23917 #line 780 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23918  tmpMeta[0] = _elt;
23919 #line 780 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23920  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,13) == 0) MMC_THROW_INTERNAL();
23921 #line 780 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23922  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
23923 #line 780 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
23924  _cr = tmpMeta[1];
23925 #line 23925 OMC_FILE
23926  _return: OMC_LABEL_UNUSED
23927  return _cr;
23928 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_varDirectionEqual()

DLLExport modelica_boolean omc_DAEUtil_varDirectionEqual ( threadData_t threadData,
modelica_metatype  _inDirection1,
modelica_metatype  _inDirection2 
)

Definition at line 3230 of file DAEUtil.c.

3231 {
3232  modelica_boolean _outIsEqual;
3233  modelica_boolean tmp1 = 0;
3234  MMC_SO();
3235  _tailrecursive: OMC_LABEL_UNUSED
3236 #line 3236 OMC_FILE
3237  { /* match expression */
3238  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
3239  tmp4_1 = _inDirection1;
3240  tmp4_2 = _inDirection2;
3241  {
3242  volatile mmc_switch_type tmp4;
3243  int tmp5;
3244  tmp4 = 0;
3245  for (; tmp4 < 4; tmp4++) {
3246  switch (MMC_SWITCH_CAST(tmp4)) {
3247  case 0: {
3248  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,0) == 0) goto tmp3_end;
3249  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,0) == 0) goto tmp3_end;
3250  /* Pattern matching succeeded */
3251 #line 5912 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3252  tmp1 = 1;
3253 #line 3253 OMC_FILE
3254  goto tmp3_done;
3255  }
3256  case 1: {
3257  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0) == 0) goto tmp3_end;
3258  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
3259  /* Pattern matching succeeded */
3260 #line 5913 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3261  tmp1 = 1;
3262 #line 3262 OMC_FILE
3263  goto tmp3_done;
3264  }
3265  case 2: {
3266  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,0) == 0) goto tmp3_end;
3267  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
3268  /* Pattern matching succeeded */
3269 #line 5914 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3270  tmp1 = 1;
3271 #line 3271 OMC_FILE
3272  goto tmp3_done;
3273  }
3274  case 3: {
3275 
3276  /* Pattern matching succeeded */
3277 #line 5915 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3278  tmp1 = 0;
3279 #line 3279 OMC_FILE
3280  goto tmp3_done;
3281  }
3282  }
3283  goto tmp3_end;
3284  tmp3_end: ;
3285  }
3286  goto goto_2;
3287  goto_2:;
3288  MMC_THROW_INTERNAL();
3289  goto tmp3_done;
3290  tmp3_done:;
3291  }
3292  }
3293  _outIsEqual = tmp1;
3294  _return: OMC_LABEL_UNUSED
3295  return _outIsEqual;
3296 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_varKindEqual()

DLLExport modelica_boolean omc_DAEUtil_varKindEqual ( threadData_t threadData,
modelica_metatype  _inVariability1,
modelica_metatype  _inVariability2 
)

Definition at line 3307 of file DAEUtil.c.

3308 {
3309  modelica_boolean _outIsEqual;
3310  modelica_boolean tmp1 = 0;
3311  MMC_SO();
3312  _tailrecursive: OMC_LABEL_UNUSED
3313 #line 3313 OMC_FILE
3314  { /* match expression */
3315  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
3316  tmp4_1 = _inVariability1;
3317  tmp4_2 = _inVariability2;
3318  {
3319  int tmp4;
3320  {
3321  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
3322  case 3: {
3323  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0) == 0) goto tmp3_end;
3324  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
3325  /* Pattern matching succeeded */
3326 #line 5899 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3327  tmp1 = 1;
3328 #line 3328 OMC_FILE
3329  goto tmp3_done;
3330  }
3331  case 4: {
3332  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,0) == 0) goto tmp3_end;
3333  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0) == 0) goto tmp3_end;
3334  /* Pattern matching succeeded */
3335 #line 5900 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3336  tmp1 = 1;
3337 #line 3337 OMC_FILE
3338  goto tmp3_done;
3339  }
3340  case 6: {
3341  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,3,0) == 0) goto tmp3_end;
3342  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,0) == 0) goto tmp3_end;
3343  /* Pattern matching succeeded */
3344 #line 5901 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3345  tmp1 = 1;
3346 #line 3346 OMC_FILE
3347  goto tmp3_done;
3348  }
3349  case 5: {
3350  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,0) == 0) goto tmp3_end;
3351  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,0) == 0) goto tmp3_end;
3352  /* Pattern matching succeeded */
3353 #line 5902 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3354  tmp1 = 1;
3355 #line 3355 OMC_FILE
3356  goto tmp3_done;
3357  }
3358  }
3359  goto tmp3_end;
3360  tmp3_end: ;
3361  }
3362  goto goto_2;
3363  goto_2:;
3364  MMC_THROW_INTERNAL();
3365  goto tmp3_done;
3366  tmp3_done:;
3367  }
3368  }
3369  _outIsEqual = tmp1;
3370  _return: OMC_LABEL_UNUSED
3371  return _outIsEqual;
3372 }
signed char modelica_boolean
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_DAEUtil_varName()

DLLExport modelica_string omc_DAEUtil_varName ( threadData_t threadData,
modelica_metatype  _var 
)

Definition at line 3855 of file DAEUtil.c.

3856 {
3857  modelica_string _name = NULL;
3858  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
3859  MMC_SO();
3860  _tailrecursive: OMC_LABEL_UNUSED
3861 #line 5755 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3862  /* Pattern-matching assignment */
3863 #line 5755 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3864  tmpMeta[0] = _var;
3865 #line 5755 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3866  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,13) == 0) MMC_THROW_INTERNAL();
3867 #line 5755 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3868  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
3869 #line 5755 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3870  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,3) == 0) MMC_THROW_INTERNAL();
3871 #line 5755 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3872  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
3873 #line 5755 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3874  _name = tmpMeta[2];
3875 #line 3875 OMC_FILE
3876  _return: OMC_LABEL_UNUSED
3877  return _name;
3878 }
modelica_metatype modelica_string
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_varType()

DLLExport modelica_metatype omc_DAEUtil_varType ( threadData_t threadData,
modelica_metatype  _var 
)

Definition at line 3782 of file DAEUtil.c.

3783 {
3784  modelica_metatype _type_ = NULL;
3785  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3786  MMC_SO();
3787  _tailrecursive: OMC_LABEL_UNUSED
3788 #line 5780 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3789  /* Pattern-matching assignment */
3790 #line 5780 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3791  tmpMeta[0] = _var;
3792 #line 5780 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3793  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
3794 #line 5780 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
3795  _type_ = tmpMeta[1];
3796 #line 3796 OMC_FILE
3797  _return: OMC_LABEL_UNUSED
3798  return _type_;
3799 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_DAEUtil_verifyBoolWhenEquation()

PROTECTED_FUNCTION_STATIC void omc_DAEUtil_verifyBoolWhenEquation ( threadData_t threadData,
modelica_metatype  _inCond,
modelica_metatype  _inEqs,
modelica_metatype  _inElseWhen,
modelica_metatype  _source 
)

Definition at line 14302 of file DAEUtil.c.

14303 {
14304  modelica_metatype _crefs1 = NULL;
14305  modelica_metatype _crefs2 = NULL;
14306  modelica_metatype _whenBranches = NULL;
14307  modelica_metatype _whenBranch = NULL;
14308  modelica_metatype _cond = NULL;
14309  modelica_metatype _eqs = NULL;
14310  modelica_metatype _info = NULL;
14311  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
14312  MMC_SO();
14313  _tailrecursive: OMC_LABEL_UNUSED
14314 #line 3079 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14315  _crefs1 = omc_DAEUtil_verifyBoolWhenEquationBranch(threadData, _inCond, _inEqs);
14316 #line 14316 OMC_FILE
14317 
14318 #line 3080 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14319  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
14320 #line 3080 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14321  _whenBranches = omc_DAEUtil_collectWhenEquationBranches(threadData, _inElseWhen, tmpMeta[0]);
14322 #line 14322 OMC_FILE
14323 
14324 #line 3081 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14325  {
14326 #line 3081 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14327  modelica_metatype _whenBranch;
14328 #line 3081 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14329  for (tmpMeta[0] = _whenBranches; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
14330 #line 3081 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14331  {
14332 #line 3081 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14333  _whenBranch = MMC_CAR(tmpMeta[0]);
14334 #line 3082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14335  /* Pattern-matching assignment */
14336 #line 3082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14337  tmpMeta[1] = _whenBranch;
14338 #line 3082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14339  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
14340 #line 3082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14341  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
14342 #line 3082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14343  _cond = tmpMeta[2];
14344 #line 3082 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14345  _eqs = tmpMeta[3];
14346 #line 14346 OMC_FILE
14347 
14348 #line 3083 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14349  if(omc_Types_isClockOrSubTypeClock(threadData, omc_Expression_typeof(threadData, _cond)))
14350 #line 3083 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14351  {
14352 #line 3084 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14353  _info = omc_ElementSource_getElementSourceFileInfo(threadData, _source);
14354 #line 14354 OMC_FILE
14355 
14356 #line 3085 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14357  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
14358 #line 3085 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14359  omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT109, tmpMeta[1], _info);
14360 #line 14360 OMC_FILE
14361  }
14362 
14363 #line 3087 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14364  _crefs2 = omc_DAEUtil_verifyBoolWhenEquationBranch(threadData, _cond, _eqs);
14365 #line 14365 OMC_FILE
14366 
14367 #line 3088 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14368  _crefs2 = omc_List_unionOnTrue(threadData, _crefs1, _crefs2, boxvar_ComponentReference_crefEqual);
14369 #line 14369 OMC_FILE
14370 
14371 #line 3089 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14372  if((listLength(_crefs2) != listLength(_crefs1)))
14373 #line 3089 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14374  {
14375 #line 3090 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14376  _info = omc_ElementSource_getElementSourceFileInfo(threadData, _source);
14377 #line 14377 OMC_FILE
14378 
14379 #line 3091 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14380  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
14381 #line 3091 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14382  omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT113, tmpMeta[1], _info);
14383 #line 14383 OMC_FILE
14384  }
14385  }
14386  }
14387  _return: OMC_LABEL_UNUSED
14388  return;
14389 }
DLLExport modelica_metatype omc_ElementSource_getElementSourceFileInfo(threadData_t *threadData, modelica_metatype _source)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_collectWhenEquationBranches(threadData_t *threadData, modelica_metatype _inElseWhen, modelica_metatype _inWhenBranches)
Definition: DAEUtil.c:14200
DLLExport modelica_metatype omc_Expression_typeof(threadData_t *threadData, modelica_metatype _inExp)
Definition: Expression.c:45117
DLLExport modelica_metatype omc_List_unionOnTrue(threadData_t *threadData, modelica_metatype _inList1, modelica_metatype _inList2, modelica_fnptr _inCompFunc)
Definition: List.c:13620
DLLExport void omc_Error_addSourceMessageAndFail(threadData_t *threadData, modelica_metatype _inErrorMsg, modelica_metatype _inMessageTokens, modelica_metatype _inInfo)
Definition: Error.c:974
void * modelica_metatype
modelica_integer listLength(modelica_metatype)
DLLExport modelica_boolean omc_Types_isClockOrSubTypeClock(threadData_t *threadData, modelica_metatype _inType)
Definition: Types.c:32793
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_verifyBoolWhenEquationBranch(threadData_t *threadData, modelica_metatype _inCond, modelica_metatype _inEqs)
Definition: DAEUtil.c:14183
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_verifyBoolWhenEquation1()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_verifyBoolWhenEquation1 ( threadData_t threadData,
modelica_metatype  _inElems,
modelica_boolean  _initCond,
modelica_metatype  _inCrefs 
)

Definition at line 13742 of file DAEUtil.c.

13743 {
13744  modelica_metatype _outCrefs = NULL;
13745  modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
13746  MMC_SO();
13747  _tailrecursive: OMC_LABEL_UNUSED
13748 #line 13748 OMC_FILE
13749  { /* match expression */
13750  modelica_metatype tmp3_1;
13751  tmp3_1 = _inElems;
13752  {
13753  modelica_metatype _rest = NULL;
13754  modelica_metatype _cr = NULL;
13755  modelica_metatype _e = NULL;
13756  modelica_metatype _crefs = NULL;
13757  modelica_metatype _crefsLists = NULL;
13758  modelica_metatype _source = NULL;
13759  modelica_metatype _info = NULL;
13760  modelica_metatype _el = NULL;
13761  modelica_metatype _falseEqs = NULL;
13762  modelica_metatype _trueEqs = NULL;
13763  modelica_boolean _b;
13764  modelica_string _msg = NULL;
13765  volatile mmc_switch_type tmp3;
13766  int tmp4;
13767  tmp3 = 0;
13768  for (; tmp3 < 14; tmp3++) {
13769  switch (MMC_SWITCH_CAST(tmp3)) {
13770  case 0: {
13771  if (!listEmpty(tmp3_1)) goto tmp2_end;
13772  /* Pattern matching succeeded */
13773 #line 3153 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13774  tmpMeta[0] = _inCrefs;
13775 #line 13775 OMC_FILE
13776  goto tmp2_done;
13777  }
13778  case 1: {
13779  if (listEmpty(tmp3_1)) goto tmp2_end;
13780  tmpMeta[1] = MMC_CAR(tmp3_1);
13781  tmpMeta[2] = MMC_CDR(tmp3_1);
13782  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,13) == 0) goto tmp2_end;
13783 
13784  _rest = tmpMeta[2];
13785  /* Pattern matching succeeded */
13786 #line 3156 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13787  /* Tail recursive call */
13788 #line 3156 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13789  _inElems = _rest;
13790 #line 3156 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13791  goto _tailrecursive;
13792 #line 3156 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13793  /* TODO: Make sure any eventual dead code below is never generated */
13794 #line 13794 OMC_FILE
13795  goto tmp2_done;
13796  }
13797  case 2: {
13798  if (listEmpty(tmp3_1)) goto tmp2_end;
13799  tmpMeta[1] = MMC_CAR(tmp3_1);
13800  tmpMeta[2] = MMC_CDR(tmp3_1);
13801  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,3) == 0) goto tmp2_end;
13802  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
13803 
13804  _cr = tmpMeta[3];
13805  _rest = tmpMeta[2];
13806  /* Pattern matching succeeded */
13807 #line 3159 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13808  tmpMeta[1] = mmc_mk_cons(_cr, _inCrefs);
13809 #line 3159 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13810  /* Tail recursive call */
13811 #line 3159 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13812  _inElems = _rest;
13813 #line 3159 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13814  _inCrefs = tmpMeta[1];
13815 #line 3159 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13816  goto _tailrecursive;
13817 #line 3159 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13818  /* TODO: Make sure any eventual dead code below is never generated */
13819 #line 13819 OMC_FILE
13820  goto tmp2_done;
13821  }
13822  case 3: {
13823  if (listEmpty(tmp3_1)) goto tmp2_end;
13824  tmpMeta[1] = MMC_CAR(tmp3_1);
13825  tmpMeta[2] = MMC_CDR(tmp3_1);
13826  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,3) == 0) goto tmp2_end;
13827  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
13828  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
13829  _e = tmpMeta[3];
13830  _source = tmpMeta[4];
13831  _rest = tmpMeta[2];
13832  /* Pattern matching succeeded */
13833 #line 3162 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13834  _crefs = omc_DAEUtil_collectWhenCrefs1(threadData, _e, _source, _inCrefs);
13835 #line 13835 OMC_FILE
13836 #line 3163 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13837  /* Tail recursive call */
13838 #line 3163 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13839  _inElems = _rest;
13840 #line 3163 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13841  _inCrefs = _crefs;
13842 #line 3163 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13843  goto _tailrecursive;
13844 #line 3163 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13845  /* TODO: Make sure any eventual dead code below is never generated */
13846 #line 13846 OMC_FILE
13847  goto tmp2_done;
13848  }
13849  case 4: {
13850  if (listEmpty(tmp3_1)) goto tmp2_end;
13851  tmpMeta[1] = MMC_CAR(tmp3_1);
13852  tmpMeta[2] = MMC_CDR(tmp3_1);
13853  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,4) == 0) goto tmp2_end;
13854  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
13855  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
13856  _e = tmpMeta[3];
13857  _source = tmpMeta[4];
13858  _rest = tmpMeta[2];
13859  /* Pattern matching succeeded */
13860 #line 3166 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13861  _crefs = omc_DAEUtil_collectWhenCrefs1(threadData, _e, _source, _inCrefs);
13862 #line 13862 OMC_FILE
13863 #line 3167 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13864  /* Tail recursive call */
13865 #line 3167 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13866  _inElems = _rest;
13867 #line 3167 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13868  _inCrefs = _crefs;
13869 #line 3167 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13870  goto _tailrecursive;
13871 #line 3167 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13872  /* TODO: Make sure any eventual dead code below is never generated */
13873 #line 13873 OMC_FILE
13874  goto tmp2_done;
13875  }
13876  case 5: {
13877  if (listEmpty(tmp3_1)) goto tmp2_end;
13878  tmpMeta[1] = MMC_CAR(tmp3_1);
13879  tmpMeta[2] = MMC_CDR(tmp3_1);
13880  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],8,3) == 0) goto tmp2_end;
13881  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
13882  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
13883  _e = tmpMeta[3];
13884  _source = tmpMeta[4];
13885  _rest = tmpMeta[2];
13886  /* Pattern matching succeeded */
13887 #line 3170 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13888  _crefs = omc_DAEUtil_collectWhenCrefs1(threadData, _e, _source, _inCrefs);
13889 #line 13889 OMC_FILE
13890 #line 3171 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13891  /* Tail recursive call */
13892 #line 3171 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13893  _inElems = _rest;
13894 #line 3171 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13895  _inCrefs = _crefs;
13896 #line 3171 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13897  goto _tailrecursive;
13898 #line 3171 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13899  /* TODO: Make sure any eventual dead code below is never generated */
13900 #line 13900 OMC_FILE
13901  goto tmp2_done;
13902  }
13903  case 6: {
13904  if (listEmpty(tmp3_1)) goto tmp2_end;
13905  tmpMeta[1] = MMC_CAR(tmp3_1);
13906  tmpMeta[2] = MMC_CDR(tmp3_1);
13907  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,3) == 0) goto tmp2_end;
13908  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
13909 
13910  _cr = tmpMeta[3];
13911  _rest = tmpMeta[2];
13912  /* Pattern matching succeeded */
13913 #line 3174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13914  tmpMeta[1] = mmc_mk_cons(_cr, _inCrefs);
13915 #line 3174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13916  /* Tail recursive call */
13917 #line 3174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13918  _inElems = _rest;
13919 #line 3174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13920  _inCrefs = tmpMeta[1];
13921 #line 3174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13922  goto _tailrecursive;
13923 #line 3174 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13924  /* TODO: Make sure any eventual dead code below is never generated */
13925 #line 13925 OMC_FILE
13926  goto tmp2_done;
13927  }
13928  case 7: {
13929  if (listEmpty(tmp3_1)) goto tmp2_end;
13930  tmpMeta[1] = MMC_CAR(tmp3_1);
13931  tmpMeta[2] = MMC_CDR(tmp3_1);
13932  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],12,4) == 0) goto tmp2_end;
13933  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
13934  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
13935  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
13936  _trueEqs = tmpMeta[3];
13937  _falseEqs = tmpMeta[4];
13938  _source = tmpMeta[5];
13939  _rest = tmpMeta[2];
13940  /* Pattern matching succeeded */
13941 #line 3178 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13942  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
13943 #line 3178 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13944  _crefsLists = omc_List_map2(threadData, _trueEqs, boxvar_DAEUtil_verifyBoolWhenEquation1, mmc_mk_boolean(_initCond), tmpMeta[1]);
13945 #line 13945 OMC_FILE
13946 
13947 #line 3179 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13948  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
13949 #line 3179 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13950  _crefs = omc_DAEUtil_verifyBoolWhenEquation1(threadData, _falseEqs, _initCond, tmpMeta[1]);
13951 #line 13951 OMC_FILE
13952 
13953 #line 3180 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13954  tmpMeta[1] = mmc_mk_cons(_crefs, _crefsLists);
13955 #line 3180 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13956  _crefsLists = tmpMeta[1];
13957 #line 13957 OMC_FILE
13958 
13959 #line 3181 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13960  _crefs = omc_DAEUtil_compareCrefList(threadData, _crefsLists ,&_b);
13961 #line 13961 OMC_FILE
13962 
13963 #line 3182 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13964  if((!_b))
13965 #line 3182 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13966  {
13967 #line 3183 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13968  _info = omc_ElementSource_getElementSourceFileInfo(threadData, _source);
13969 #line 13969 OMC_FILE
13970 
13971 #line 3184 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13972  _msg = _OMC_LIT95;
13973 #line 13973 OMC_FILE
13974 
13975 #line 3185 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13976  tmpMeta[1] = mmc_mk_cons(_msg, MMC_REFSTRUCTLIT(mmc_nil));
13977 #line 3185 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13978  omc_Error_addSourceMessage(threadData, _OMC_LIT94, tmpMeta[1], _info);
13979 #line 13979 OMC_FILE
13980 
13981 #line 3186 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13982  goto goto_1;
13983 #line 13983 OMC_FILE
13984  }
13985 #line 3188 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13986  /* Tail recursive call */
13987 #line 3188 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13988  _inElems = _rest;
13989 #line 3188 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13990  _inCrefs = listAppend(_crefs, _inCrefs);
13991 #line 3188 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13992  goto _tailrecursive;
13993 #line 3188 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
13994  /* TODO: Make sure any eventual dead code below is never generated */
13995 #line 13995 OMC_FILE
13996  goto tmp2_done;
13997  }
13998  case 8: {
13999  if (listEmpty(tmp3_1)) goto tmp2_end;
14000  tmpMeta[1] = MMC_CAR(tmp3_1);
14001  tmpMeta[2] = MMC_CDR(tmp3_1);
14002  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],19,4) == 0) goto tmp2_end;
14003 
14004  _rest = tmpMeta[2];
14005  /* Pattern matching succeeded */
14006 #line 3191 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14007  /* Tail recursive call */
14008 #line 3191 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14009  _inElems = _rest;
14010 #line 3191 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14011  goto _tailrecursive;
14012 #line 3191 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14013  /* TODO: Make sure any eventual dead code below is never generated */
14014 #line 14014 OMC_FILE
14015  goto tmp2_done;
14016  }
14017  case 9: {
14018  if (listEmpty(tmp3_1)) goto tmp2_end;
14019  tmpMeta[1] = MMC_CAR(tmp3_1);
14020  tmpMeta[2] = MMC_CDR(tmp3_1);
14021  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],21,2) == 0) goto tmp2_end;
14022 
14023  _rest = tmpMeta[2];
14024  /* Pattern matching succeeded */
14025 #line 3194 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14026  /* Tail recursive call */
14027 #line 3194 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14028  _inElems = _rest;
14029 #line 3194 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14030  goto _tailrecursive;
14031 #line 3194 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14032  /* TODO: Make sure any eventual dead code below is never generated */
14033 #line 14033 OMC_FILE
14034  goto tmp2_done;
14035  }
14036  case 10: {
14037  if (listEmpty(tmp3_1)) goto tmp2_end;
14038  tmpMeta[1] = MMC_CAR(tmp3_1);
14039  tmpMeta[2] = MMC_CDR(tmp3_1);
14040  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],23,3) == 0) goto tmp2_end;
14041  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
14042  _source = tmpMeta[3];
14043  _rest = tmpMeta[2];
14044  /* Pattern matching succeeded */
14045 #line 3198 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14046  if(_initCond)
14047 #line 3198 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14048  {
14049 #line 3199 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14050  _info = omc_ElementSource_getElementSourceFileInfo(threadData, _source);
14051 #line 14051 OMC_FILE
14052 
14053 #line 3200 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14054  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
14055 #line 3200 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14056  omc_Error_addSourceMessage(threadData, _OMC_LIT98, tmpMeta[1], _info);
14057 #line 14057 OMC_FILE
14058 
14059 #line 3201 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14060  goto goto_1;
14061 #line 14061 OMC_FILE
14062  }
14063 #line 3203 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14064  /* Tail recursive call */
14065 #line 3203 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14066  _inElems = _rest;
14067 #line 3203 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14068  goto _tailrecursive;
14069 #line 3203 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14070  /* TODO: Make sure any eventual dead code below is never generated */
14071 #line 14071 OMC_FILE
14072  goto tmp2_done;
14073  }
14074  case 11: {
14075  if (listEmpty(tmp3_1)) goto tmp2_end;
14076  tmpMeta[1] = MMC_CAR(tmp3_1);
14077  tmpMeta[2] = MMC_CDR(tmp3_1);
14078  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],24,2) == 0) goto tmp2_end;
14079 
14080  _rest = tmpMeta[2];
14081  /* Pattern matching succeeded */
14082 #line 3207 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14083  /* Tail recursive call */
14084 #line 3207 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14085  _inElems = _rest;
14086 #line 3207 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14087  goto _tailrecursive;
14088 #line 3207 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14089  /* TODO: Make sure any eventual dead code below is never generated */
14090 #line 14090 OMC_FILE
14091  goto tmp2_done;
14092  }
14093  case 12: {
14094  if (listEmpty(tmp3_1)) goto tmp2_end;
14095  tmpMeta[1] = MMC_CAR(tmp3_1);
14096  tmpMeta[2] = MMC_CDR(tmp3_1);
14097  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],10,4) == 0) goto tmp2_end;
14098  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
14099  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5));
14100  _e = tmpMeta[3];
14101  _source = tmpMeta[4];
14102  /* Pattern matching succeeded */
14103 #line 3211 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14104  _info = omc_ElementSource_getElementSourceFileInfo(threadData, _source);
14105 #line 14105 OMC_FILE
14106 
14107 #line 3212 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14108  if(omc_Types_isClockOrSubTypeClock(threadData, omc_Expression_typeof(threadData, _e)))
14109 #line 3212 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14110  {
14111 #line 3213 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14112  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
14113 #line 3213 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14114  omc_Error_addSourceMessage(threadData, _OMC_LIT104, tmpMeta[1], _info);
14115 #line 14115 OMC_FILE
14116  }
14117  else
14118  {
14119 #line 3215 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14120  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
14121 #line 3215 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14122  omc_Error_addSourceMessage(threadData, _OMC_LIT101, tmpMeta[1], _info);
14123 #line 14123 OMC_FILE
14124  }
14125 #line 3217 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14126  goto goto_1;
14127 #line 14127 OMC_FILE
14128  goto tmp2_done;
14129  }
14130  case 13: {
14131  if (listEmpty(tmp3_1)) goto tmp2_end;
14132  tmpMeta[1] = MMC_CAR(tmp3_1);
14133  tmpMeta[2] = MMC_CDR(tmp3_1);
14134  _el = tmpMeta[1];
14135  /* Pattern matching succeeded */
14136 #line 3221 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14137  tmpMeta[1] = mmc_mk_cons(_el, MMC_REFSTRUCTLIT(mmc_nil));
14138 #line 3221 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14139  tmpMeta[2] = stringAppend(_OMC_LIT105,omc_DAEDump_dumpElementsStr(threadData, tmpMeta[1]));
14140 #line 3221 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14141  _msg = tmpMeta[2];
14142 #line 14142 OMC_FILE
14143 
14144 #line 3222 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14146 #line 14146 OMC_FILE
14147 
14148 #line 3223 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14149  tmpMeta[1] = mmc_mk_cons(_msg, MMC_REFSTRUCTLIT(mmc_nil));
14150 #line 3223 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14151  omc_Error_addSourceMessage(threadData, _OMC_LIT72, tmpMeta[1], _info);
14152 #line 14152 OMC_FILE
14153 #line 3224 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14154  goto goto_1;
14155 #line 14155 OMC_FILE
14156  goto tmp2_done;
14157  }
14158  }
14159  goto tmp2_end;
14160  tmp2_end: ;
14161  }
14162  goto goto_1;
14163  goto_1:;
14164  MMC_THROW_INTERNAL();
14165  goto tmp2_done;
14166  tmp2_done:;
14167  }
14168  }
14169  _outCrefs = tmpMeta[0];
14170  _return: OMC_LABEL_UNUSED
14171  return _outCrefs;
14172 }
DLLExport modelica_metatype omc_ElementSource_getElementSourceFileInfo(threadData_t *threadData, modelica_metatype _source)
modelica_metatype modelica_string
signed char modelica_boolean
float mmc_switch_type
modelica_metatype listAppend(modelica_metatype, modelica_metatype)
DLLExport modelica_metatype omc_Expression_typeof(threadData_t *threadData, modelica_metatype _inExp)
Definition: Expression.c:45117
DLLExport modelica_metatype omc_List_map2(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc, modelica_metatype _inArg1, modelica_metatype _inArg2)
Definition: List.c:12478
DLLExport void omc_Error_addSourceMessage(threadData_t *threadData, modelica_metatype _inErrorMsg, modelica_metatype _inMessageTokens, modelica_metatype _inInfo)
Definition: Error.c:990
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport modelica_metatype omc_ElementSource_getElementSource(threadData_t *threadData, modelica_metatype _element)
void * modelica_metatype
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_collectWhenCrefs1(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _source, modelica_metatype _inCrefs)
Definition: DAEUtil.c:13650
DLLExport modelica_boolean omc_Types_isClockOrSubTypeClock(threadData_t *threadData, modelica_metatype _inType)
Definition: Types.c:32793
DLLExport modelica_string omc_DAEDump_dumpElementsStr(threadData_t *threadData, modelica_metatype _els)
Definition: DAEDump.c:6161
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_verifyBoolWhenEquation1(threadData_t *threadData, modelica_metatype _inElems, modelica_boolean _initCond, modelica_metatype _inCrefs)
Definition: DAEUtil.c:13742
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_compareCrefList(threadData_t *threadData, modelica_metatype _inCrefs, modelica_boolean *out_matching)
Definition: DAEUtil.c:13500
Here is the caller graph for this function:

◆ omc_DAEUtil_verifyBoolWhenEquationBranch()

PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_verifyBoolWhenEquationBranch ( threadData_t threadData,
modelica_metatype  _inCond,
modelica_metatype  _inEqs 
)

Definition at line 14183 of file DAEUtil.c.

14184 {
14185  modelica_metatype _crefs = NULL;
14186  modelica_boolean _initCond;
14187  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
14188  MMC_SO();
14189  _tailrecursive: OMC_LABEL_UNUSED
14190  _initCond = omc_Expression_containsInitialCall(threadData, _inCond);
14191 #line 3129 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14192  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
14193 #line 3129 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14194  _crefs = omc_DAEUtil_verifyBoolWhenEquation1(threadData, _inEqs, _initCond, tmpMeta[0]);
14195 #line 14195 OMC_FILE
14196  _return: OMC_LABEL_UNUSED
14197  return _crefs;
14198 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_Expression_containsInitialCall(threadData_t *threadData, modelica_metatype _condition)
Definition: Expression.c:35803
PROTECTED_FUNCTION_STATIC modelica_metatype omc_DAEUtil_verifyBoolWhenEquation1(threadData_t *threadData, modelica_metatype _inElems, modelica_boolean _initCond, modelica_metatype _inCrefs)
Definition: DAEUtil.c:13742
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_verifyClockWhenEquation()

PROTECTED_FUNCTION_STATIC void omc_DAEUtil_verifyClockWhenEquation ( threadData_t threadData,
modelica_metatype  _cond,
modelica_metatype  _eqs,
modelica_metatype  _ew,
modelica_metatype  _source 
)

Definition at line 14492 of file DAEUtil.c.

14493 {
14494  modelica_metatype _info = NULL;
14495  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
14496  MMC_SO();
14497  _tailrecursive: OMC_LABEL_UNUSED
14498 #line 3028 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14499  if((!isNone(_ew)))
14500 #line 3028 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14501  {
14502 #line 3029 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14503  _info = omc_ElementSource_getElementSourceFileInfo(threadData, _source);
14504 #line 14504 OMC_FILE
14505 
14506 #line 3030 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14507  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
14508 #line 3030 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14509  omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT122, tmpMeta[0], _info);
14510 #line 14510 OMC_FILE
14511  }
14512 
14513 #line 3032 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14514  omc_DAEUtil_verifyClockWhenEquation1(threadData, _eqs);
14515 #line 14515 OMC_FILE
14516  _return: OMC_LABEL_UNUSED
14517  return;
14518 }
DLLExport modelica_metatype omc_ElementSource_getElementSourceFileInfo(threadData_t *threadData, modelica_metatype _source)
DLLExport void omc_Error_addSourceMessageAndFail(threadData_t *threadData, modelica_metatype _inErrorMsg, modelica_metatype _inMessageTokens, modelica_metatype _inInfo)
Definition: Error.c:974
void * modelica_metatype
PROTECTED_FUNCTION_STATIC void omc_DAEUtil_verifyClockWhenEquation1(threadData_t *threadData, modelica_metatype _inEqs)
Definition: DAEUtil.c:14391
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_verifyClockWhenEquation1()

PROTECTED_FUNCTION_STATIC void omc_DAEUtil_verifyClockWhenEquation1 ( threadData_t threadData,
modelica_metatype  _inEqs 
)

Definition at line 14391 of file DAEUtil.c.

14392 {
14393  modelica_metatype _el = NULL;
14394  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
14395  MMC_SO();
14396  _tailrecursive: OMC_LABEL_UNUSED
14397 #line 3040 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14398  {
14399 #line 3040 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14400  modelica_metatype _el;
14401 #line 3040 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14402  for (tmpMeta[0] = _inEqs; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
14403 #line 3040 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14404  {
14405 #line 3040 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14406  _el = MMC_CAR(tmpMeta[0]);
14407 #line 14407 OMC_FILE
14408  { /* match expression */
14409  modelica_metatype tmp3_1;
14410  tmp3_1 = _el;
14411  {
14412  modelica_metatype _cond = NULL;
14413  modelica_metatype _eqs = NULL;
14414  modelica_metatype _ew = NULL;
14415  modelica_metatype _source = NULL;
14416  modelica_metatype _info = NULL;
14417  int tmp3;
14418  {
14419  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
14420  case 26: {
14421 
14422  /* Pattern matching succeeded */
14423 #line 3050 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14425 #line 14425 OMC_FILE
14426 
14427 #line 3051 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14428  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
14429 #line 3051 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14430  omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT116, tmpMeta[1], _info);
14431 #line 14431 OMC_FILE
14432 #line 14432 OMC_FILE
14433  goto tmp2_done;
14434  }
14435  case 13: {
14436  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,10,4) == 0) goto tmp2_end;
14437  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
14438  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
14439  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
14440  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
14441  _cond = tmpMeta[1];
14442  _eqs = tmpMeta[2];
14443  _ew = tmpMeta[3];
14444  _source = tmpMeta[4];
14445  /* Pattern matching succeeded */
14446 #line 3055 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14447  if(omc_Types_isClockOrSubTypeClock(threadData, omc_Expression_typeof(threadData, _cond)))
14448 #line 3055 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14449  {
14450 #line 3056 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14452 #line 14452 OMC_FILE
14453 
14454 #line 3057 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14455  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
14456 #line 3057 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14457  omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT119, tmpMeta[1], _info);
14458 #line 14458 OMC_FILE
14459  }
14460 
14461 #line 3059 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14462  omc_DAEUtil_verifyBoolWhenEquation(threadData, _cond, _eqs, _ew, _source);
14463 #line 14463 OMC_FILE
14464 #line 14464 OMC_FILE
14465  goto tmp2_done;
14466  }
14467  default:
14468  tmp2_default: OMC_LABEL_UNUSED; {
14469 
14470  /* Pattern matching succeeded */
14471 #line 14471 OMC_FILE
14472  goto tmp2_done;
14473  }
14474  }
14475  goto tmp2_end;
14476  tmp2_end: ;
14477  }
14478  goto goto_1;
14479  goto_1:;
14480  MMC_THROW_INTERNAL();
14481  goto tmp2_done;
14482  tmp2_done:;
14483  }
14484  }
14485  ;
14486  }
14487  }
14488  _return: OMC_LABEL_UNUSED
14489  return;
14490 }
DLLExport modelica_metatype omc_ElementSource_getElementSourceFileInfo(threadData_t *threadData, modelica_metatype _source)
PROTECTED_FUNCTION_STATIC void omc_DAEUtil_verifyBoolWhenEquation(threadData_t *threadData, modelica_metatype _inCond, modelica_metatype _inEqs, modelica_metatype _inElseWhen, modelica_metatype _source)
Definition: DAEUtil.c:14302
DLLExport modelica_metatype omc_Expression_typeof(threadData_t *threadData, modelica_metatype _inExp)
Definition: Expression.c:45117
DLLExport void omc_Error_addSourceMessageAndFail(threadData_t *threadData, modelica_metatype _inErrorMsg, modelica_metatype _inMessageTokens, modelica_metatype _inInfo)
Definition: Error.c:974
DLLExport modelica_metatype omc_ElementSource_getElementSource(threadData_t *threadData, modelica_metatype _element)
void * modelica_metatype
DLLExport modelica_boolean omc_Types_isClockOrSubTypeClock(threadData_t *threadData, modelica_metatype _inType)
Definition: Types.c:32793
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_DAEUtil_verifyEquationsDAE()

DLLExport void omc_DAEUtil_verifyEquationsDAE ( threadData_t threadData,
modelica_metatype  _dae 
)

Definition at line 14543 of file DAEUtil.c.

14544 {
14545  modelica_metatype _cond = NULL;
14546  modelica_metatype _dae_elts = NULL;
14547  modelica_metatype _eqs = NULL;
14548  modelica_metatype _ew = NULL;
14549  modelica_metatype _source = NULL;
14550  modelica_metatype _el = NULL;
14551  modelica_metatype _info = NULL;
14552  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
14553  MMC_SO();
14554  _tailrecursive: OMC_LABEL_UNUSED
14555 #line 2992 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14556  /* Pattern-matching assignment */
14557 #line 2992 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14558  tmpMeta[0] = _dae;
14559 #line 2992 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14560  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
14561 #line 2992 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14562  _dae_elts = tmpMeta[1];
14563 #line 14563 OMC_FILE
14564 
14565 #line 2993 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14566  {
14567 #line 2993 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14568  modelica_metatype _el;
14569 #line 2993 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14570  for (tmpMeta[0] = _dae_elts; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
14571 #line 2993 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14572  {
14573 #line 2993 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14574  _el = MMC_CAR(tmpMeta[0]);
14575 #line 14575 OMC_FILE
14576  { /* match expression */
14577  modelica_metatype tmp3_1;
14578  tmp3_1 = _el;
14579  {
14580  int tmp3;
14581  {
14582  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
14583  case 13: {
14584  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,10,4) == 0) goto tmp2_end;
14585  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
14586  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
14587  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
14588  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
14589  _cond = tmpMeta[1];
14590  _eqs = tmpMeta[2];
14591  _ew = tmpMeta[3];
14592  _source = tmpMeta[4];
14593  /* Pattern matching succeeded */
14594 #line 2996 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14595  omc_DAEUtil_verifyWhenEquation(threadData, _cond, _eqs, _ew, _source);
14596 #line 14596 OMC_FILE
14597 #line 14597 OMC_FILE
14598  goto tmp2_done;
14599  }
14600  case 26: {
14601 
14602  /* Pattern matching succeeded */
14603 #line 3000 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14605 #line 14605 OMC_FILE
14606 
14607 #line 3001 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14608  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
14609 #line 3001 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14610  omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT116, tmpMeta[1], _info);
14611 #line 14611 OMC_FILE
14612 #line 14612 OMC_FILE
14613  goto tmp2_done;
14614  }
14615  default:
14616  tmp2_default: OMC_LABEL_UNUSED; {
14617 
14618  /* Pattern matching succeeded */
14619 #line 14619 OMC_FILE
14620  goto tmp2_done;
14621  }
14622  }
14623  goto tmp2_end;
14624  tmp2_end: ;
14625  }
14626  goto goto_1;
14627  goto_1:;
14628  MMC_THROW_INTERNAL();
14629  goto tmp2_done;
14630  tmp2_done:;
14631  }
14632  }
14633  ;
14634  }
14635  }
14636  _return: OMC_LABEL_UNUSED
14637  return;
14638 }
DLLExport modelica_metatype omc_ElementSource_getElementSourceFileInfo(threadData_t *threadData, modelica_metatype _source)
PROTECTED_FUNCTION_STATIC void omc_DAEUtil_verifyWhenEquation(threadData_t *threadData, modelica_metatype _cond, modelica_metatype _eqs, modelica_metatype _ew, modelica_metatype _source)
Definition: DAEUtil.c:14520
DLLExport void omc_Error_addSourceMessageAndFail(threadData_t *threadData, modelica_metatype _inErrorMsg, modelica_metatype _inMessageTokens, modelica_metatype _inInfo)
Definition: Error.c:974
DLLExport modelica_metatype omc_ElementSource_getElementSource(threadData_t *threadData, modelica_metatype _element)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:

◆ omc_DAEUtil_verifyWhenEquation()

PROTECTED_FUNCTION_STATIC void omc_DAEUtil_verifyWhenEquation ( threadData_t threadData,
modelica_metatype  _cond,
modelica_metatype  _eqs,
modelica_metatype  _ew,
modelica_metatype  _source 
)

Definition at line 14520 of file DAEUtil.c.

14521 {
14522  MMC_SO();
14523  _tailrecursive: OMC_LABEL_UNUSED
14524 #line 3014 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14525  if(omc_Types_isClockOrSubTypeClock(threadData, omc_Expression_typeof(threadData, _cond)))
14526 #line 3014 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14527  {
14528 #line 3015 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14529  omc_DAEUtil_verifyClockWhenEquation(threadData, _cond, _eqs, _ew, _source);
14530 #line 14530 OMC_FILE
14531  }
14532  else
14533  {
14534 #line 3016 "/omcompiler/Compiler/FrontEnd/DAEUtil.mo"
14535  omc_DAEUtil_verifyBoolWhenEquation(threadData, _cond, _eqs, _ew, _source);
14536 #line 14536 OMC_FILE
14537  }
14538  _return: OMC_LABEL_UNUSED
14539  return;
14540 }
PROTECTED_FUNCTION_STATIC void omc_DAEUtil_verifyBoolWhenEquation(threadData_t *threadData, modelica_metatype _inCond, modelica_metatype _inEqs, modelica_metatype _inElseWhen, modelica_metatype _source)
Definition: DAEUtil.c:14302
DLLExport modelica_metatype omc_Expression_typeof(threadData_t *threadData, modelica_metatype _inExp)
Definition: Expression.c:45117
DLLExport modelica_boolean omc_Types_isClockOrSubTypeClock(threadData_t *threadData, modelica_metatype _inType)
Definition: Types.c:32793
PROTECTED_FUNCTION_STATIC void omc_DAEUtil_verifyClockWhenEquation(threadData_t *threadData, modelica_metatype _cond, modelica_metatype _eqs, modelica_metatype _ew, modelica_metatype _source)
Definition: DAEUtil.c:14492
Here is the call graph for this function:
Here is the caller graph for this function: